帮忙指点一下,程序输出结果显示无问题,输出为啥是很大的负值,,感谢

输出a时有时会显示负值为何?

5.茬C中将一个很大的正整数赋值给一个int类型变量a输出a时有时会显示负值,为何
全部
  • int?型定义为有符号整型{取值范围一般为-2^15~(2^15)-1},最高位是符號位符号位为1表示负数,当你赋给值大于有符号int类型变量a最大值时符号位的值变成1(即输出十进制变成负数)。如果int型定义为无符号整型则不会输出负数
    全部
  • 因为int是有值域的,且它的最高位为符号位,当你的值超过它的正数值域,最高位可以被置1 
    这样输出就为负的了
    全部
  • 一般如果数值会很大,就用long即:Int64
    全部

我要回帖

更多关于 程序输出结果 的文章

 

随机推荐