即時嘗試輸入一個大於32767的五位數字,我在聲明int數時使用「unsigned」,當im試圖打印相同的數字時,它打印一些任意的負數, 結果溢出.. .... 請求幫助我更大的整數寬度
Q
更大的整數寬度
1
A
回答
0
直到你展示了一些代碼,我不能確定任何東西。
但是AFAIK如果你打印出一個uint
,你應該不能打印出一個負數 - 即使溢出了,整數總是保持一個正數,就C而言。
所以還有其他的錯誤。
1
沒有看到您的代碼,我猜你正在使用%d或%i在printf語句中。改爲使用%u。
1
使用「%u」而不是「%d」打印無符號值。
0
使用正確的格式說明符。
%d對於int
%u爲unsigned int。
在printf()中使用不正確的格式說明符可能會導致未定義的行爲。
例如,以下代碼調用未定義的行爲(UB)。
#include<stdio.h>
int main(void)
{
unsigned int z=Some_value; /*Some_value is an unsigned int */
printf("%d",z);
/*UB as format specifier for unsigned int is incorrect,it should be %u not %d*/
}
0
我猜你的機器/編譯器的int是16位。
雖然我不知道你的平臺是什麼,但我想long可以解決你的問題(在我所知的所有平臺上它都是32位或更多)。用%ld代替%d打印。
不要試圖使用無符號和%u,因爲它們只會給你數字高達65536,我想你想要更多。
相關問題
- 1. FancyBox調整大小寬度
- 2. 調整窗口大小的div寬度
- 3. 使用jQuery調整大小後調整大小後的寬度
- 4. 最大高度和寬度與jQuery的大小調整
- 5. 調整大小後更新ng樣式的寬度
- 6. 更改調整其列的DataGrid寬度
- 7. 集裝箱,最大寬度調整
- 8. SL3 TimePicker寬度調整大小
- 9. 動畫寬度調整大小100%
- 10. 根據寬度調整圖像大小
- 11. 寬度:調整窗口大小(CSS)時調整大小100%
- 12. 圖像大小調整 - 寬度100%,最大高度
- 13. 手動寬度更改後jqgrid列大小調整
- 14. div寬度沒有更新調整大小
- 15. 最大寬度100px與寬度100px,爲什麼最大寬度短於寬度?
- 16. 100%寬度元素的更新大小
- 17. 一旦內容高度/寬度已更改,如何調整nyroModal的大小
- 18. bash中固定寬度整數的寬度是多少?
- 19. 將DockPanel的大小調整爲DockZone的高度和寬度
- 20. @ davidjbradshaw的iframe大小調整器,iframe寬度不調整
- 21. 如何設置TinyMCE的最小調整大小寬度/高度?
- 22. 用戶可調整最大寬度/高度的分區
- 23. CSS:動態字體大小; DIV的跨度整個寬度
- 24. 相對於高度的自動寬度+調整窗口大小
- 25. jQuery UI的大小可調整寬度高度
- 26. 最小寬度,最大寬度的CSS使用最小寬度
- 27. UITableViewCellStyleValue2 - 調整寬度?
- 28. GridViewColumn寬度調整
- 29. 調整Gridview寬度
- 30. C99的固定寬度整數類型
顯示導致問題的一些實際代碼。 – Isaac 2009-12-12 04:28:31
你有沒有嘗試提供更大的褲子整數? – Sneakyness 2009-12-12 04:31:01
使用正確的格式說明符。在print()中使用不正確的格式說明符可能會導致UB。 – 2009-12-12 04:31:02