Bootstrap

原码反码补码的概念及相互转换

本笔记主要阐述计算机的原码,反码和补码的概念,以及原码反码补码之间如何相互转换。

原码:

        原码(自然二进制码)是一种计算机中对数字的二进制定点表示方法。原码表示法在数值前

面增加了一位符号位(最高位即为符号位):

        正数符号位用0表示

        负数符号位用1表示

        其余位表示数值的大小。

反码:

        反码通常是用来由原码求补码 或者 由补码求原码的过度码。

        反码在原码的基础上:


                正数的反码是其本身

                负数的反码是符号位不变,其余位取反。

补码:

        正数的补码是其本身

        负数的补码是在其反码的基础上+1

补码变成原码的方式:

        正数的补码与原码一致

        负数的补码按位取反+1,符号位不变

反码变成原码的方式:

        正数的反码与原码一致

        负数的补码按位取反,符号位不变

总结

        对于有符号的而言:

                1. 二进制的最高位是符号位:用0表示正数,用1表示负数

                2. 正数的原码、反码、补码都一样

                3. 0的反码、补码都一样

                4. 计算机中不管是正数还是负数,在计算机中是以补码的形式存储的

                5. 反码是一种表示形式,取反是一个计算机过程(每一个位置都取反)

                6. 负数的补码 = 它的反码 + 1

;