C语言2进制和十进制问题
C语言2进制和十进制问题
日期:2021-06-17 04:28:37 人气:1
我大致明白你的问题了
首先讲个概念吧,有符号int型数据的取值范围是-32768~32767,这个数是循环的
举个例子 int a=32767,那么:32767+1 = -32768; 32767+2 = -32767;依次类推,
在你列举的代码中,a=1000000000000000;这不是二进制表示,得到的结果或许是凑巧
如果是a=0x8000;才表示二进制1+15个0,0x8000转换为10进制正好是3
首先讲个概念吧,有符号int型数据的取值范围是-32768~32767,这个数是循环的
举个例子 int a=32767,那么:32767+1 = -32768; 32767+2 = -32767;依次类推,
在你列举的代码中,a=1000000000000000;这不是二进制表示,得到的结果或许是凑巧
如果是a=0x8000;才表示二进制1+15个0,0x8000转换为10进制正好是3