能力值:
( LV2,RANK:10 )
2 楼
应该是64位吧,我猜的。如果有条件,写个小程序测试下即可。
能力值:
( LV8,RANK:130 )
3 楼
32位,long为64位
能力值:
( LV2,RANK:10 )
4 楼
printf ("%d", sizeof int);
请楼主把这句代码写到你的main 函数中,输出看看便知。
能力值:
( LV2,RANK:10 )
5 楼
root@bt:~# cat test.c
#include <stdio.h>
int main()
{
printf("%d\n", sizeof(int));
return 0;
}
root@bt:~# cc test.c -o test
test.c: In function ‘main’:
test.c:5: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘long unsigned int’
root@bt:~# ./test
4
root@bt:~# uname -a
Linux bt 3.10.5 #1 SMP Sun Aug 11 21:39:14 CST 2013 x86_64 GNU/Linux
root@bt:~#
能力值:
( LV2,RANK:10 )
6 楼
3楼正解
能力值:
( LV4,RANK:50 )
7 楼
3楼是正确的,以前我一直以为是64位的。
能力值:
( LV2,RANK:10 )
8 楼
printf("int = %d\n",sizeof(int));测试一下就知道了。
能力值:
( LV2,RANK:10 )
9 楼
这个貌似不严谨吧!
long 32bit
long long 64bit.
__int64 64bit
能力值:
( LV2,RANK:10 )
10 楼
int
16bit dos
32bit windows 32bit,64bit
32bit linux 32bit,64bit
能力值:
( LV2,RANK:10 )
11 楼
当然对于cpu 的寄存器而言(rax,rbx,rxc,rdx...),都可以视为64bit,这个角度就不同了.
能力值:
( LV8,RANK:130 )
12 楼
long 是长整型 ,不一定是32位,编个程序测试一下就知道了
能力值:
( LV2,RANK:10 )
13 楼
CPU的位数是地址的位数,跟数据类型的位数没关系吧,数据类型的位数是由编译器决定的~~~例如:VC 6.0 int 和lang 都是4个字节
能力值:
( LV2,RANK:10 )
14 楼
int 不变 指针变为8了,但是int 本身就是4,没理由到了64变成8,
能力值:
( LV2,RANK:10 )
15 楼
32位,64位是指操作系统和软件中,cpu进行寻指的范围吧
int,long只是编译器认识的数据类型,编译成int,在64位系统中,
他是64位寻址来使用的,但int长度是不变的
能力值:
( LV2,RANK:10 )
16 楼
64bit...
能力值:
( LV2,RANK:10 )
17 楼
支持一下啊 不错
能力值:
( LV2,RANK:10 )
18 楼
大家真热情。
能力值:
( LV2,RANK:10 )
19 楼
这个是不是要看编译器?
能力值:
( LV3,RANK:20 )
20 楼
win7下的结果,编译用的是VC6
“
int: 4
long:4
Press any key to continue”
#include <stdio.h>
int main()
{
printf("int: %d\n", sizeof(int) );
printf("long:%d\n", sizeof(long) );
return 0;
}
能力值:
( LV3,RANK:20 )
21 楼
你编译的程序是x86的话会用 syswow64的模式运行 长度是4
你编译的是x64的话 就会以正统的64位模式运行 长度是8
能力值:
( LV2,RANK:10 )
22 楼
应该是与编译器有关,CPU的64是指内部寄存器的宽度