真的是出了校园就把知识还给老师了!!! 所以需要抽空来把一些知识捡起来~~
机器数
数字在计算机中的表现形式(二进制)叫做机器数,这个数有正负之分,在计算机中用一个数的二进制的最高位(符号位)用来表示它的正负,其中0表示正数,1表示负数。
eg: 正数7,8位的二进制数来表示,是00000111,而负数-7,则用10000111表示,这里的00000111和10000111是机器数
因为第一位是符号位,所以8位二进制数的取值范围就是:[11111111 ~ 01111111] 即 [-127 ~ 127]
真数
机器数对应的真实的值就是真数(二进制数换算成十进制得到的数字),对最高位(符号位)后面的二进制数转换成10进制,并根据最高位来确定这个数的正负。
eg: 二进制数快速转换为十进制数,有个小窍门,11111111,从右到左依次代表 1,2,4,8,16,32,64,128 把对应位置上为1的数字相加起来就是 十进制的,比如 00001011就是1+2+8=11
原码
原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小
反码
正数的补码反码是其原码本身,负数的反码是原码符号位保持不变,其余位取反。
eg: 正数1的原码是00000001,它的反码是是其本身00000001, -1的原码是10000001,其反码是11111110
补码
正数的补码是其原码本身,负数的补码是在其反码的基础上+1。
eg: 正数1的原码是00000001,它的补码是其本身00000001, -1的补码是其反码11111110 + 1 = 11111111