机器码一共有4种分别为原码、反码、补码、移码(增码) 原码:

原码是由符号位(正为1;负为0)再真值组成的。例如-3的8位原码的求法为:
         -3的符号位是-,在二进制中表示为1,再利用短除法求出3的二进制11,结合后为1000 0011。

其优点是简单易手写,缺点是机器需要单独设立加法器和减法器,0还有+0(0000 0000)和(1000 0000)两种形式。

反码: 反码分两种情况正数的情况下与原码相同,负数为把原码除符号位按位取反。还是拿-3举例: -3是负数,依照以上规则需要把除符号位按位取反得到(1111 1111)。 其优点是可以直接连符号加减,简化机器,但还是没有解决0有符号。

补码: 补码也分两种情况正数的情况下与反码相同,负数为把反码加1。我们拿-2举例: -2是负数,依照以上规则需要加1得到(1111 1111)。 其优点是可以解决0的符号,但美中不足的是-128在补码里是(1000 0000)也就是反码的-0,这是一个小瑕疵。

移码: 移码是将补码的符号位取反。还是拿-2举例: 依照以上规则需要把符号位按位取反得到(0111 1111)。 解决了补码的瑕疵。

标签: none

添加新评论