注意三点:
1、unsinged long 只是32位,long long 才是64位。
2、printf打印输出 %d 表示有符号, %u表示无符号。
3、%x只打印输出8 BYTE 。
编译有警告:
yuan@yuan:~/work/test/test_test> gcc -o unsigned_long unsigned_long.c
unsigned_long.c: In function ‘main’:
unsigned_long.c:19: warning: integer constant is too large for ‘long’ type
运行结果:
yuan@yuan:~/work/test/test_test> ./unsigned_long
sizeof(unsigned long) = 4
sizeof(unsigned int) = 4
sizeof(unsigned long long) = 8
sizeof(long long) = 8
unsigned_int = -2
only_int = 4294967294
unsigned_long_long = 4294967294
long_long = 4503599627370494
long_long = fffffffe