数字化编码,不同的转换带来的组合可以表示大量复杂多变的信息,以下是对编码的详细介绍
设字长为8(n)
最前面的是符号位,0为正,1为负,其余的7(n-1)位是数值的二进制绝对值
转换的方式有4种:原码、补码、反码、移码
原码:终端输入十进制数值,计算机转换的二进制数值
反码:在除符号的位置以外求反,也就是将0/1互换
补码:在进行反码转换后还要在末尾添加1
移码:在补码的基础上取反符号位
口诀:“反码去头,补码后,移码前”((๑•̀ㅂ•́)و✧nice!)
正数的原码、反码、补码一致
码值相同的为一个编码,而不是两个编码的相同表示
下面是负数的码值的转换实例:
[-1]->原码[10000001]
->反码[11111110](后七位取反)
->补码[11111111](反码末尾加1)
->移码[01111111](补码符号位取反)
正数的码值转换就是移码不同,在转换后的二进制数值中直接取反符号位就行
0较为特殊,由于0取正负号都相同,所以,有00000000的原码编写,也有10000000的编写,所以0的原码和反码有两个编码,补码和移码码值相同为一个编码