原码 反码 补码 移码
2015-04-27 11:33
211 查看
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
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
相关文章推荐
- 原码,反码,补码,移码
- 知识点-原码补码反码移码
- 计算机组成原理之原码、补码、反码和移码
- java 自我知识总结(一) 原码 反码 补码 移码
- [转]原码、反码、补码、移码
- 计算机原码、反码、补码、移码
- 原码、补码、反码及移码
- 原码 反码 补码 移码的关系(精简总结)
- 如何求原码、补码、反码、移码和他们的关系
- 1.1原码,反码,补码,移码
- 原码、反码、补码、移码解惑
- 原码、反码、补码和移码的相关概念
- 原码、反码、补码、移码
- 原码-反码-补码-移码的运算及作用
- 原码,反码,补码,移码
- C语言基础 原码 反码 补码 移码简介
- 【总结】正确理解原码、移码、反码与补码
- 原码、反码、补码、移码
- 软件设计师考试笔记一:原码、反码、补码及移码
- 真值,原码,反码,补码和移码 释义