首页 > 编程知识 正文

longint最大值是多少(c 中int, long, long long都占几个字节和编译平台定义有关)

时间:2023-05-04 11:14:19 阅读:123436 作者:3299

他说,开学时读的文章都是根据cpu和编译器的位数来区分的

但实际测试结果显示,英特尔64位处理器、64位操作系统和vs2017编译器为64位,测试了int、long、long long三种大小

# include iostream # include cstring # includecassert # includeclimitsusingnamespacestd; int main () {int *p; cout'int*='sizeof(p ) endl; cout'int:'sizeof(int ) endl; cout ' longint : ' sizeof (longint ) endl; cout ' longlong int : ' sizeof (longlong int ) endl; }输出结果

正如指针类型所示,编译器确实选择了64位,但long和int都是4字节,与上面的图像不匹配。

随后,当您阅读c相关书籍时,您发现long类型不是简单地由32位或64位决定,而是由编译平台决定。 更具体地说,在名为climits的头文件中,对应于c的字节由limits.h中的宏定义决定

#defineint_min(-2147483647-1 )/minimum (签名) intvalue ) define int _ max 2147483647//maximum (签名) ing definelong_min(-2147483647L-1 )/minimum(signed ) long value # define long _ max 2147483666 long value # define ulong _ define llong _ max 92337203685475807 I 64/maximumsignedlonglongintvalue # define llong _ min (-922337203685475807 i64-1 )/在defineullong _ max0xfffffffffffffffffffui 64//maximumunsignedlonglongintvalue中,MIN和max表示返回值,下划线的前面表示类型,u表示无符号通过此文件,可以查看此平台的长整型定义的大小。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。