原码、反码和补码的表示范围

原创 2017年01月03日 14:32:09

小数: x0.x1x2x3xn,其中x0 
整数:x0x1x2x3xn,其中x0

首先形成的概念是:原码和反码小数表示的范围是一样的,仅仅是二进制的存储不同罢了。

更有趣的是它们的存储范围是关于零点对称的!

原码小数,反码小数都是:1+2n=<x<=12n

中间是+00两种

x0x1x2x3xn

原码整数,反码整数:(2n1)x2n1//这个很好理解,例证是-127~127

补码里的0只有一种表示,因此多了一个离散状态可以表示其他的数,这个数在小数中是1,整数中是2n 
所以把数据给了最小的那个。 
自然而然就不是对称的。

因此补码小数:1x12n

补码整数:2nx2n1

总结一下三种表示方法的范围:

定点小数:

原码:  -(1-2-n N 1-2-n

反码:  -(1-2-n N 1-2-n

补码:   -1 N 1-2-n

 

定点整数:

原码: -(2n -1) N 2n -1

反码: -(2n -1) N 2n -1

补码: - 2n  N 2n -1


版权声明:本文为博主原创文章,未经博主允许不得转载。

原码,反码,补码的表示范围总结

x0.x1x2x3…xn 首先形成的概念是:原码和反码小数表示的范围是一样的,仅仅是二进制的存储不同罢了。 更有趣的是它们的存储范围是关于零点对称的!原码小数,反码小数都是:-1+2^(-n) =...
  • u011240016
  • u011240016
  • 2016年09月15日 15:37
  • 5136

补码,反码,原码的范围总结

刚刚碰到一个题目,需要写出一种浮点数范围的题。 原题如下 假定一种浮点数格式是11位数符,77位阶码,88位尾数。其中尾数用补码表示,阶码用移码表示。 问,此格式可以表示的数据范围。无疑,我们不...
  • u011240016
  • u011240016
  • 2016年09月21日 14:50
  • 1070

数值字节与范围

字节与范围字节与范围换算:1个字节8位。如 1000 0000。 计算机中数值一律用二进制数来存储,用最高位表示符号。0为正,1为负,剩下的为数值的二进制值。存储可以加上UNSIGNED取消符号:...
  • a298804870
  • a298804870
  • 2016年08月26日 07:34
  • 1184

原码、反码和补码

资料来自百度文库:https://wenku.baidu.com/view/550e7af265ce0508763213b9.html 原码、反码和补码的概念 本节要求 掌握原码、反码、补码...
  • include_heqile
  • include_heqile
  • 2018年01月07日 19:44
  • 42

C语言——原码、反码、补码、数据类型取值范围

记得刚学C语言的时候,对应数据类型的取值范围经常会有这样的疑问:比如8位的二进制补码范围是-128~127呀?为 什么会差一个数呀?(以8位为例) 为了解释这个问题,我们先来了解下几个概念(原码、...
  • Cowena
  • Cowena
  • 2015年08月01日 09:50
  • 1458

【经典算法】:原码,反码,补码之间的转换问题

背景知识补充正数:原码=反码=补码 负数:原码 反码 补码之间 转换有规则(下面讨论) 0:分为+0 和 -0去考虑,符合上面那两条规则补充一个概念叫做符号位,把每个数第一位当作符号位,取0为整数...
  • qq_23100787
  • qq_23100787
  • 2015年09月24日 00:29
  • 1683

为什么八位二进制数表示范围为-128~+127?

计算机组成原理、原码、反码、补码、模
  • fenzang
  • fenzang
  • 2016年12月07日 08:14
  • 5680

原码、反码、补码及移码的作用与区别

最近报了软考,恶补下基础知识, 以前学过的原码、反码、补码竟然忘记了,另外还有不怎么熟悉的移码,特意花点时间整理下,希望对大家有帮助。 概念介绍: 计算机中的信息都是以二进制形式表示的,数...
  • bbirdsky
  • bbirdsky
  • 2013年05月22日 21:36
  • 15885

计算机原码、反码、补码详解

本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法....
  • u011080472
  • u011080472
  • 2016年04月29日 12:33
  • 16152

17,原码,反码,补码

#include int main(int argc, const char * argv[]) {     /*      *计算机存储数据是存储补码,可以忽略正负号,便以计算(计算机...
  • dreamljs
  • dreamljs
  • 2015年11月17日 11:40
  • 953
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:原码、反码和补码的表示范围
举报原因:
原因补充:

(最多只允许输入30个字)