当前位置: 技术问答>linux和unix
uclibc 9.27下的C问题(关于long,unsigned long,以及sprintf的问题)
来源: 互联网 发布时间:2015-11-18
本文导语: 用的是uclibc 9.27,在其环境下面写c程序 unsigned long a; 问题 (1)a可以表示的最大整数是多少? ANSI上定义的是0~(2^32-1),即0~4294967295,但是实际上往往不能表示到那个数 (2)对于unsigned long类型的变量...
用的是uclibc 9.27,在其环境下面写c程序
unsigned long a;
问题
(1)a可以表示的最大整数是多少?
ANSI上定义的是0~(2^32-1),即0~4294967295,但是实际上往往不能表示到那个数
(2)对于unsigned long类型的变量,如果用sprintf(),那么中间的那个参数应该用 %d 还是 %ld 呢? 是不是还有 %l ?
当然这里面,我们在sprintf()中分配的buffer足够大。
我试验了几次,好像 %d 和 %ld 没什么区别?
unsigned long a;
问题
(1)a可以表示的最大整数是多少?
ANSI上定义的是0~(2^32-1),即0~4294967295,但是实际上往往不能表示到那个数
(2)对于unsigned long类型的变量,如果用sprintf(),那么中间的那个参数应该用 %d 还是 %ld 呢? 是不是还有 %l ?
当然这里面,我们在sprintf()中分配的buffer足够大。
我试验了几次,好像 %d 和 %ld 没什么区别?
|
ARM9是32bit处理器。
“但是实际上往往不能表示到那个数”,为什么这样说?
“但是实际上往往不能表示到那个数”,为什么这样说?