我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:双彩网 > 整型常量 >

关于c语言整型常量的范围问题

归档日期:06-17       文本归类:整型常量      文章编辑:爱尚语录

  如今windws64位系统,int和long都为4字节没啥区别,但是我想问的是例如定义inta=10;这个10常量的默认类型为int类型,int类型最大值为2^31-1;那么是不是说我输入的常量不能大于2^31-1;...

  如今windws64位系统,int 和 long 都为4字节没啥区别,但是我想问的是例如定义

  int a=10;这个10常量的默认类型为int类型,int类型最大值为2^31-1;那么是不是说我输入的常量不能大于2^31-1;如果输入的常量大于最大值,它超出默认类型的数据范围,那么此时这个常量属于什么类型。我进行如下实验发现:int a=2^64+1-2^64,测试结果正确,其中两个常量均超出默认常量范围,那么说明这两个常量并未发生数据溢出。那么我的理解是数据类型溢出指的是结果例如变量a,但计算过程中的数值再大也不会发生数据溢出展开我来答

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  3、C语言中有类似的机制,int偷偷转变成long,或者float转变成double,但并不是一定的。编程时请严格按照数据类型规定的容量范围使用。

  你好,不知你是怎么运算的,但int类型的数据最大值还线。如下图所示,我通过第一个循环算出2^31,输出2^31-1,再通过第二个循环算出2^32,输出2^32-1,2^31-1能正常输出,为2147483647,但2^32-1出现了数据“溢出”,输出的是-1,无法正常输出。

本文链接:http://textandcandy.com/zhengxingchangliang/130.html