您的位置:首页 > 编程语言 > C语言/C++

C语言基础知识

2016-06-22 16:02 218 查看

C语言编码转换

计算机中数字是以补码存储的。关于原码、反码和补码的关系请参考 看C语言编码转换——–负数的二进制表示方法

C语言中类型的最大值最小值

理解了上面的原理,我们可以得到在计算机当中

一个int类型(4个字节)的数字,当它在计算机当中表示为下面这串数字的时候,我们可以得到其实下面表示的是他的补码,要换算成我们人类能够理解的十进制相当于要做补码->反码->源码的转化。

11111111 11111111 11111111 11111111


补码转换成反码是:

11111111 11111111 11111111 11111110


反码转换成原码是:

10000000 00000000 00000000 00000000


对于原码,因为最高位是符号位,所以对于我们人类来说,
11111111 11111111 11111111 11111111
表示的就是
-1


有符号最大数为:01 。。。共31个1。。。1 = 2^31-1

有符号最小数为:10。。。共31个0。。。0 = -2^31 (从表面上看,就是原码-0,这也是为什么用补码来表示正数的原因)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言 二进制