在C/C++中,64为整型一直是一种没有确定规范的数据类型。现今主流的编译器中,对64为整型的支持也是标准不一,形态各异。一般来说,64位整型的定义方式有long long和__int64两种(VC还支持_int64),而输出到标准输出方式有printf(“%lld”,a),printf(“%I64d”,a),和cout << a三种方式。 本文讨论的是五种常用...
long long是C99标准中新引进的数据类型,在古老的VC6.0中并没有这个类型,所以在VC6.0中用”long long”会发生编译错误。为了表示64位整数,VC6里采用的是微软自己搞出来的一个数据类型,叫做__int64,所以如果你是在VC6.0下编译的话,应该用__int64定义64位整型。新版的Visual Studio已经支持long long了。GCC是支持lo...
许多人认为long long过于冗长,对代码可读性造成影响。但使用short short去表示8位整数,即int8,其范围从-128到127,远不足以覆盖long long的全部范围。因此,使用short short表达int8,不仅会限制其功能,同时也显得不切实际。长整型long long的使用主要基于兼容性和性能考量。虽然它在某些情况下显得冗...
long long定义方式可以用于gcc/g++,不受平台限制,但不能用于VC6.0。 __int64是Win32平台编译器64位长整型的定义方式,不能用于Linux。 "%lld"用于Linux i386平台编译器,"%I64d"用于Win32平台编译器。 cout只能用于C++编译,在VC6.0中,cout不支持64位长整型。 表中最后一行输出方式中的printint64()是我自己写的...
long和int一样都是4,指针在64位里面是8,long long才是int64类型的8
unsigned int (unsigned long)4字节8位可表达位数:2^32=4294967296范围:0~4294967295(42*10^8)int (long)4字节8位可表达位数:2^32=4294967296范围:-2147483648~2147483647(21*10^8)longlong(__int64)8字节8位可表达位数:2^64=18446744073709600000范围:-9223372036854775808~9223372036854775807(922*10^16)unsigned...
C语言对int、short int、long int并没有严格规定其长度(占用存储空间的字节数),只做了宽泛的限制:...
有意思的问题。我们先来看看long long的发展历史。世有long int,然后有long long int。long int常有...
表示方式不同:在输出时,long类型的变量需要使用%ld格式进行输出,而int类型的变量通常使用%d格式进行输出。 需要注意的是,long和int的实际大小和取值范围可能因编译器和操作系统的不同而有所变化。因此,在编写跨平台的代码时,应该避免依赖于这些差异。可以使用标准头文件<inttypes.h>中定义的int64_t来确保使用指定大小...
long: 4个字节 以下是windows操作系统,64位机下的代码测试结果(64位机中,指针占8个字节,如变量e): 此处感谢用户名为“shcdwz1234”以及“此昵称已经被人使用”的批评指正,之前的博文中,我写:“64位机环境下,long占据8个字节”,当时写这个博文时没有用代码进行测试验证,从其他人的博客中复制过来的,验证发现,...