常用区位码内码自动转换(软考笔记02关于原码)

一、转化方式

1、原码

把数值转成二进制,从右往左,位数不足补0。

首位是符号:0:正数 1:负数。

原码不能运算

2、反码

正数,反码 = 原码

负数:反码 = 原码 符号位不动,其他位数取反

3、补码

正数:补码 = 原码

负数:负数 补码 = 反码 1

4、移码

正数、负数:移码 = 反码 首符号位 取反。

5、示例:

数值6、-6的一个字节(8位),原码、补码、反码、移码

数值 6 -6

原码:0000 0110 (不变) 1000 0110

反码:0000 0110 (不变) 1111 1001 (符号位不动,其他位数取反)

补码:0000 0110 (不变) 1111 1010 (反码 1,符号位也进位,看下图)

移码:1000 0110 (反码首符号位取反) 0111 1010 (反码首符号位取反)

常用区位码内码自动转换(软考笔记02关于原码)(1)

原码、反码、补码、移码

二、取值范围

原码: -(2^(n-1) - 1) 到 2^(n-1)-1 ; 8位: -127 到 127

反码:-(2^(n-1) - 1) 到 2^(n-1)-1 ; 8位:-127 到 127

补码:-2^(n-1) 到 2^(n-1)-1 ; 8位: -128 到 127 (因为补码的 0和-0是一样的)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页