精华内容
下载资源
问答
  • 原码表示

    2020-01-11 17:06:41
    原码的本质:符号位+ 绝对值 我们下面分析的类型主要是...n 位二进制数来表示这个数的原码,符号位占一位,还剩 n-1 位数值位,n-1 位能表达的最大的二进制数为2^(n-1) - 1,所以下面这个范围不超过 2^(n-1) ...

    原码的本质:符号位+ 绝对值

    我们下面分析的类型主要是分析纯小数和纯整数的情况,因为在计算机里面,实数是可以转换成下面这两种形式的。
    在这里插入图片描述
    纯小数:
    在这里插入图片描述
    纯整数:
    n 位二进制数来表示这个数的原码,符号位占一位,还剩 n-1 位数值位,n-1 位能表达的最大的二进制数为2^(n-1) - 1,所以下面这个范围不超过 2^(n-1)
    在这里插入图片描述
    例题:
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 原码、反码、补码的表示范围是如何得到的原码纯整数的原码纯小数的原码反码纯整数的反码纯小数的反码补码纯整数的补码纯小数的补码原码首先说原码,原码是有符号数中最简单的编码方式。原码表示法在数值前面增加了一...

    原码、反码、补码的表示范围是如何得到的

    原码

    纯整数的原码

    纯小数的原码

    反码

    纯整数的反码

    纯小数的反码

    补码

    纯整数的补码

    纯小数的补码

    原码

    首先说原码,原码是有符号数中最简单的编码方式。原码表示法在数值前面增加了一位符号位(即最高位为符号位):0表示为正数,1表示为负数,其余为数值位,表示数值大小。

    纯整数的原码

    原码的范围是 – (2n–1) ≤ x ≤ 2n–1(n是整数位数)

    这是如何得到的呢?

    以机器字长为8为例,符号位占1位,那么剩下有7位的数值位,如果不考虑整数的符号,那么这7位数最大的时候为全1,即111 1111,转换为十进制为27–1。

    当符号位为0,即0111 1111,此时该数最大,为27–1;

    当符号位为1,即1111 1111,此时该数最小,为 – (27–1) 。

    即当数值位有n位时(机器字长为n+1位),

    纯整数的原码的范围是 – (2n–1) ≤ x ≤ 2n–1。

    纯小数的原码

    原码的范围是 – (1–2–n) ≤ x ≤ 1–2–n(n是数值位数)

    同样以机器字长为8为例,即有7位的数值位,如果不考虑小数的符合,那么这7位数最大的时候为全1,即0.1111 111,那这该怎么计算?难道要用2-1+2-2+……+2-n吗?如下图所示:1125031261a8a53ffece09cef1ef9520.png即当符号位为0,即0.1111111,此时该数最大,表示为1–2–7;

    当符号位为1时,即1.1111111,此时该数为负数,且为最小负数,表示为 – (1–2–7)。

    即当数值位有n位时(机器字长为n+1位),

    纯小数原码的范围是 – (1–2–n) ≤ x ≤ 1–2–n(n是数值位数)。

    反码

    反码通常用来作为由原码求补码或由补码求原码的中间过渡。

    正数的反码与原码是相同的,而负数的反码是将数值位按位取反,就可以得到。

    纯整数的反码

    以8为机器字长为例,由于正数的反码与补码相同,因此对于最大正数的由来这里不多赘述,同上。那么最小负数如何得来?

    其实与原码也是同一个道理,但是由于负数的反码要按位取反,数值位的全0会变成全1,同样,如果真值的数值位为全1,那么反码表示则会为全0,加上符号位的1,

    即最小负数用原码可表示为1,1111111,反码则表示为1,0000000,即反码可表示的最小负数–(27–1)。

    故当机器字长为n+1时,

    纯整数的反码表示范围是 – (2n–1) ≤ x ≤ 2n–1,与原码是相同的。

    纯小数的反码

    纯小数的反码与上述纯整数的反码是类似的,这里不多赘述,它的表示范围与纯小数的原码是相同的,最关键的就是记住按位取反。

    故纯小数反码的范围是 – (1–2–n) ≤ x ≤ 1–2–n(机器字长为n+1)。

    补码

    由于正数的原码、反码和补码都是相同的,故在这里我们就只讨论负数,而最大值(即最大正数)都是同原码相同的。

    补码是在反码的基础上(按位取反),末尾再加1。

    纯整数的补码

    要正确理解补数,必须要知道补码就是同余。机器字长为8位时,只能表示256个数,但我还想表示一些负数怎么办?就用该负数同余的正数来表示。例如-1=255,-2=254。它的模就是28=256,而负数的补码为模与该负数绝对值的差值,则 – 128 = 256 – 128 = 128,所以–128的补码是10000000。无符号正数从0到255,补码表示的有符号正数从-128到127,其实刚好都是一个相互对应的。

    由此可知,当数值位为n时(机器字长为n+1),

    纯整数的补码的范围是 – 2n ≤ x ≤ 2n–1

    纯小数的补码

    对于小数,补码的最小负数是最让人难以理解的,为什么补码的1.000 0000对应的真值是-1呢?

    如果我们采用对补码取反加一的方法,可以发现结果根本就不是这个值,而结合前面纯小数原码的取值范围,我们发现,在纯小数中,原码和反码都不能表示-1, 他们都只能表示纯整数的-1。从纯小数补码的定义可知,-1.0的补码为2–1.0=1.000 0000。有没有发现这跟上述的纯整数的补码非常相似,只不过纯整数的补码模取的是2n+1,而纯小数补码中,模取的是2,这样我们对于负数的补码就可以清晰的理解了。

    因此,纯小数补码的范围是 – 1 ≤ x ≤ 1–2–n(机器字长为n+1)。

    综上可发现,原码和反码的表示范围是相同的,记住一个,另一个也就记住了,而补码的表示范围中,最大正数是与原码反码相同,但是负数就有区别了。对纯小数来说,补码可表示的最小负数是 – 1;对于纯整数来说,补码可表示的最小负数是 – 2n。

    展开全文
  • 原码,反码,补码的表示范围

    千次阅读 2019-12-14 21:20:41
    图中已经很清楚的给出范围原码与反码都有正零,负零之分,而补码没有。补码比原码反码多表示一位,那就是-2^n

    在这里插入图片描述
    图中已经很清楚的给出范围,原码与反码都有正零,负零之分,而补码没有补码比原码反码多表示一位,那就是-2^n

    展开全文
  • 原码、反码和补码的表示范围

    千次阅读 2017-01-03 14:32:09
    首先形成的概念是:原码和反码小数表示范围是一样的,仅仅是二进制的存储不同罢了。 更有趣的是它们的存储范围是关于零点对称的! 原码小数,反码小数都是:−1+2−n=x=1−2−n 中间是+0,−0两种 x0x1x2x3…...

    小数: 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


    展开全文
  • 计算机组成原理——原码、反码、补码的表示范围

    千次阅读 多人点赞 2020-03-26 20:52:24
    原码、反码、补码的表示范围是如何得到的原码纯整数的原码纯小数的原码反码纯整数的反码纯小数的反码补码纯整数的补码纯小数的补码 原码 首先说原码,原码是有符号数中最简单的编码方式。原码表示法在数值前面增加了...
  • 8位二进制原码表示范围:-127~+127 8位二进制反码的表示范围:-127~+127 8位二进制补码的表示范围:-128~+127 实际上,将负数用补码表示,实际上是实现了一种从[-128, 127]到[0, 255]的映射。 原码、补码、...
  • 当无符号数保存在计算机的寄存器中,寄存器的位数反映无符号数的表示范围。 eg:将无符号数保存在8位的寄存器中,此时无符号数的二进制表示范围是00000000~11111111,转换成十进制是0 ~ 255。 有符号数 有符号数分为...
  • 原码,反码,补码的表示范围总结

    万次阅读 2016-09-15 15:37:01
    首先形成的概念是:原码和反码小数表示范围是一样的,仅仅是二进制的存储不同罢了。 更有趣的是它们的存储范围是关于零点对称的!原码小数,反码小数都是:-1+2^(-n) =^(-n) 中间是+0,-0两种 x0x1x2x3…xn ...
  • 看了一晚上,终于从懵逼中走了出来。 规律大概就是,分析绝对值大小,绝对值大的,阶码越大越好,就是最大正数;绝对值小的,阶码越小越好,就是最小负数。 基本知识不解释了,计算机组成原理书上都有,补码移码不...
  • 补码,反码,原码范围总结

    千次阅读 2016-09-21 14:50:04
    刚刚碰到一个题目,需要写出一种浮点数范围的题。 原题如下 假定一种浮点数格式是11位数符,77位阶码,88位尾数。...我们知道IEEE754的尾数是用原码表示,默认高位是1,在补码这里没有。我们纯粹关心8位补码能表示多
  • 浮点数的表示范围原码补码

    千次阅读 2019-02-19 19:41:02
    一般来说,类型float和double分别有7和16个有效位。 ...  为什么8位有符号类型的...符号位代表整个数字的符号,指数第一位代表指数的符号,后7位代表范围,因此float表示范围是-*1 ~+*1 即 -127~128 1(23位小...
  • 原码和反码的原理以及表示范围的缘由详情解析 ‘这片文章是为了说服我自己的,以自己教自己的视角写的,大家参考参考即可,不喜勿喷’ //,我们只看负数,因为只有负数的原补反不同, //1)首先看下纯小数的原码,...
  • 原码表示采用最高位为符号位,正数为0,负数为1,原码表示范围为-127~127,0有两种表示+0和-0 正数原码、反码、补码相同 负数反码为原码除符号位外取反;补码为反码的基础上加1。-128没有原码和反码,其补码为1000...
  • ===================================================================================== 1、正数的反码和补码都与原码相同。...1、原码表示法规定:用符号位和数值表示带符号数,正数的符号位用“0...
  • 以2字节为例来说:对于无符号的数值(原码及补码都...对于有符号的来说较为复杂:1)原码表示最大值:0111 1111 1111 1111=215-1=32767最小值:1111 1111 1111 1111=-(215-1)=-32767正0和负0:000000000000...
  • 原码,补码表示

    2015-09-08 17:14:18
    在计算机内,定点数有3种表示法:原码、反码和补码 所谓原码就是前面所介绍的二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。 反码表示法规定:正数的反码与其原码相同;...
  • 计算机中数值的三种表示方法详解原码,反码,补码最近在学习软件评测师的知识,其中涉及到计算机的原码,反码和补码等知识.通过网上查阅资料,进行了深入学习,分享给大家。本文主要从以下几点进行介 绍:如何计算...
  • 最近复习c++,发现原码反码补码以及有符号数和无符号数的表示范围这方面的概念很模糊,现整理如下,供大家参考。 1、原码: 最高位表示数的符号,其他位表示数值 例如:[+7]原 = 0000 0111 [-7]原 = 1000 0111 2、...
  • 这时寄存器或者存储器的位数就可以表示数值的范围, 比如:如果是 8 位的, 表示范围为 0 ~ 255。 有符号数: 即有符号的数, 符号数存储时不仅要将数据部分存入计算机, 还要将符号数字化的存进去。
  • ????无符号和有符号数 一....只有数值部分 ...反映无符号数到表示范围 二.有符号数 1.机器数与真值 三部分:符号 数值 小数点(设计时就约定好位置) 2.原码表示法 整数 小数 原码的特点: ...
  • 首先八位二进制数0000 0000 ~1111 1111,一共可以表示2^8=256位数,如果表示无...在原码中,0的表示有两种(+0)0000 0000、(-0)1000 0000,这样就产生了编码映射的不唯一性,在计算机上就要区分辨别。然而+0、-0却没
  • 原码反码补码表示

    2014-04-05 15:09:20
    本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请...一个数在计算机中的二进制表示形式
  • 本文内容只作为借鉴用,如有错误望指出. 相信大家都了解原码和补码的转换关系,若不知道百度一下很多...在c或者c++下,只以char为例子(其他类型原理相似).char 占用1个字节,范围是[-128,127) [0,255); char为什么能表
  • 计算机中定点数表示方法——原码

    千次阅读 2020-02-27 10:30:07
    1.原码表示法 (1)定点小数 若定点小数的原码形式为 x0. x1 x2 ··· xn,(共n+1位)则原码表示的定义是: 式中[x]原是机器数,x是真值。 (2)定点整数 若定点整数的原码形式为 x0 x1 x2 ··· xn,则原码表示的定义...
  • 8位原码表示范围为:-128~127 正数的原码补码一样:从0000 0000 到 0111 1111(0到127) 负数的补码是原码的符号位不变,数值位取反后加1:从1000 0001到 1111 1111(-1到-127) 最后规定1000 0000 为-128 结果...
  • 原码补码反码范围对比图

    千次阅读 2018-08-26 18:03:12
  • 符号数表示原码 反码 补码

    千次阅读 2015-07-24 17:03:16
    计算机中的符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同。 在计算机系统中,数值一律用补码来...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,474
精华内容 6,989
关键字:

原码表示范围