求十进制数(+418)的二进制数原码,反码和补码表示
十进制数(+418)的二进制数原码,反码和补码表示如下:
十进制数(+418)的二进制数原码是:110100010B,反码是:0110100010B,补码是:0110100010B
原码就是符号位加上真值的绝对值,即用第一位表示符号,其余位表示值。原码是人脑最容易理解和计算的表示方式。
反码的表示方法是:正数的反码是其本身;负数的反码是在其原码的基础上,符号位不变,其余各个位取反。如果一个反码表示的是负数,人脑无法直观的看出来它的数值。通常要将其转换成原码再计算。
补码的表示方法是:正数的补码就是其本身;负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后+1。(也即在反码的基础上+1)对于负数,补码表示方式也是人脑无法直观看出其数值的。通常也需要转换成原码再计算其数值。
因为人脑可以知道第一位是符号位,在计算的时候我们会根据符号位,选择对真值区域的加减。(真值的概念在本文最开头) 但是对于计算机,加减乘数已经是最基础的运算,要设计的尽量简单,计算机辨别"符号位"显然会让计算机的基础电路设计变得十分复杂!
于是人们想出了将符号位也参与运算的方法。我们知道,根据运算法则减去一个正数等于加上一个负数,即:1-1 = 1 + (-1) = 0, 所以机器可以只有加法而没有减法,这样计算机运算的设计就更简单了。
2022-05-15 广告