爱问知识人 爱问教育 医院库

变量超出取值范围会怎样?

首页

变量超出取值范围会怎样?

例如int类型取值范围是-21768~ 32767。假如有一个int型变量,即使超出了也一样可以输出正确的结果,那取值范围有什么意义呢?虚心求教。

提交回答

全部答案

    2018-08-09 01:51:53
  •   -21768~ 32767? 应该是-32768~ 32767吧?这是在16位编译器(如Turbo C 2。0)里的取值范围,是很久以前的取值范围,现在的计算机和以前不同了,都流行32位的处理器了。

    int型在PC上一般都占4个字节的内存,也就是用 11111111 11111111 11111111 11111111 这32位的二进制数来表示int型变量的数值,可表示的数值范围可不止-21768~ 32767这么点了;
    无符号整形(unsigned int)变量的取值范围为:0~4294967295 ;
    而整形(int)变量的取值范围为:2147483648~2147483647 。
      
    如果你的值超出取值范围,也就是超出int型变量的内存空间,那就内存溢出,影响到其它变量的值,因为其它变量和这个int型变量的内存空间是相邻的。
    解决方法,可用更大的取值范围的类型代替,实在不行的话,用字符串代替。
      

    尤***

    2018-08-09 01:51:53

类似问题

换一换

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):