即时尝试输入一个大于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