前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >原码 反码 补码 移码

原码 反码 补码 移码

作者头像
用户1215536
发布2018-02-05 15:00:24
1.1K0
发布2018-02-05 15:00:24
举报

1、正数的原码、补码、反码均为其本身;

2、负数(二进制)的原码、补码、反码公式:

反码 = 原码(除符号位外)每位取反

补码 = 反码 + 1

反码 = 补码 - 1

移码 = 补码符号位取反

目的:

反码:解决负数加法运算问题,将减法运算转换为加法运算,从而简化运算规则;

补码:解决负数加法运算正负零问题,弥补了反码的不足。

反码与补码都是为了解决负数运算问题,跟正数没关系,因此,不管是正整数还是正小数,原码,反码,补码都全部相同。

原码、反码、补码都是有符号定点数的表示方法,移码常用来比较大小,一般会把浮点数的阶码用移码表示,移码可用于简化浮点数的乘除法运算。

假设数据的位宽是8位的话,原码就是最高位为符号位,其他7位是数据位,所以表示范围是(-127~-0,0~127)

反码的表示范围也是(-127~-0,0~127)

补码中规定用-0表示-128这个数,所以补码的表示范围为:(-128~0~127)

注:-128是个特殊的数,(-128)没有相对应的原码和反码, (-128) = (10000000)

发现一篇比较深入,讲解很好的博文:http://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-04-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档