课程
/后端开发
/C
/C语言入门
int不是只能包含两个字符吗?那为什么int的范围是-2^15~2^15-1呢
2018-09-13
源自:C语言入门 2-3
正在回答
二进制数在计算机内存储的是其补码对于有符号数,正数的补码和本身一样,负数的补码是本身的数字位取反后加1比如:1=(0001)补=(0001)-1=(1001)补=(1111)计算机存储-1就是存储的1111因此当int表示范围为16位时,可以表示的最大负数为:10000...0000(后面有15个0)相当于-0但这其实是-32768=110000...0000(第一位符号位,后面有15个0)的补码表示可以理解为16位的int足可以表示-32768的补码
因为最高位是符号位,然后2的15减一是因为还有一个0
举报
C语言入门视频教程,带你进入编程世界的必修课-C语言
1 回答求大佬解惑!
1 回答求大佬解惑