前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

软考笔记02——关于原码、反码、补码、移码转换

qiguaw 2024-09-08 06:38:19 资源文章 19 ℃ 0 评论

一、转化方式

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 (反码首符号位取反)



二、取值范围

原码: -(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是一样的)

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表