在讲文章前,我们必须要说一下,作为一个程序员,计算机基础原理,数据存储内存方式必须要掌握,试想一下,一个不懂计算机基础原理,不明白数据在计算机内存是如何存储的人,他怎么可能会写出好程序来呢?
1、机器数
一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1
比如,十进制中的数 +3 ,计算机字长为8位,转换成二进制就是00000011。如果是 -3 ,就是 10000011 。
也就是说最高位,正数是0,负数是1
那么,这里的 00000011 和 10000011 就是机器数
原码, 反码, 补码的基础概念和计算方法.
原码:(正数)
+7 符号位 数值为
0 0000111
正数的源码最高位是0,正数的反码和原码相同,正数的补码和原码相同
原码(负数)
-7 符号位 数值位
1 0000111
反码1 1111000 (负数的反码与原码符号位相同,数值为取反)
补码1 1111001 (负数的补码是在反码的基础上加1,)
如:
[+1] = [00000001]原 = [00000001]反 = [00000001]补
[-1] = [10000001]原 = [11111110]反 = [11111111]补
负数的按位与运算:
按位与运算是按照数据的内部二进制形式进行运算的。若是两个负数,则是按二进制补码形式进行按位与。所得结果若用有符号整型变量存储,则内部形式仍看作二进制补码
image.png
网友评论