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