真值的原码补码和反码
真值,原码,补码,反码
真值
真值是⽤⼆进制数直接表⽰这个数(⽆符号位)
如:
⼗进制中4的真值==0100(⼆进制)
⼗进制中-5的真值==-0101  //符号+数值的绝对值
(当然直接使⽤⼗进制的数代表真值也⾏。化为⼆进制主要是在做题上更为⽅便)
原码
原码是有符号位的真值
如:
4的原码==0,0100  //最⾼位为符号位【0】表⽰正数,符号位⽤“,”隔开
-5的原码==1,0101  //最⾼位【1】表⽰负数
也可写作:
4==0000 0100
-5==1000 0101
反码
正数的反码是它本⾝;负数的反码是在原码基础上,符号位不变,其他位取反
0000 0100(原)==0000 0100(反码)小数的原码
1000 0101(原)==1111 1010(反码)
补码
正数的补码还是它本⾝;负数的补码是反码的基础上+1;
0000 0100(原)==0000 0100(反)==0000 0100(补)
1000 0101(原)==1111 1010(反码)==1111 1011(补)
补充⼩数的真值,原码
默认⼩数为{-1<x<1}时适⽤
真值
13/64  ==  0000 1101B / 2^6  ==  0.001101B  //⼩数点前移6位
-13/64  == -0000 1101B / 2^6  == -0.001101B
原码
-1<x<=00<=x<1
x1-x
13/64 ==  0.001101B ==  0.001101
-
13/64 == -0.001101B == 1-(-0.001101)==1.001101 //最⾼位为符号位
反码补码同规则变化