带符号数的表示
计算机中的数制和编码

h
17
③ 8位二进制补码表示数的范围是-128~+127, 十六位二进制补码表示数的范围是-32768~ +32767;对于同一个数,作为8位二进制数的补 码和作为16位二进制数的补码不同,这一点要特 别注意。
④ 注意:对于8位二进制数10000000B,若为补 码表示为[-128]补,若为原码表示[-0]原,若为反 码表示为[-127]反;
h
12
原码表示的特点:
① 最高位为符号位,正数为0,负数为1;
② 8位二进制原码表示数的范围是-127~+127, 十六位二进制原码表示数的范围是-32767~ +32767;
③ 0的原码有两种表示方法,即+0和-0,设字长 为8位:
[+0]原=00000000B
[-0]原=10000000B
h
23
1.美国信息交换标准代码(ASCII 码)
P311 附录A 如“8”的7位ASCII码 0111000B 奇校验ASCII码为00111000B; 偶校验ASCII码为10111000B;
h
24
2、BCD码
二进制编码的十进制数 0~9 A ~F非法 一个字节---8位 压缩与非压缩
h
18
P24 表1-5
从表1-5可以看出,8位二进制数,
无符号数表示范围是0~255;
有符号数:
原码表示范围-127~+127;
反码表示范围是-127~+127;
补码表示范围是-128~+127。
h
19
3.带符号数溢出及其判断方法
如前所述,带符号数表示方法都有一定的 范围,对于8位的原码、反码和补码表示的 范围分别为:
计算机中数的表示和存储(总结)

计算机中数的表⽰和存储(总结)⼀、⽆符号数和有符号数1.⽆符号数计算机中的数均存放在寄存器中,通常称寄存器的位数为机器字长。
所谓的⽆符号数即没有符号的数,在寄存器中的每⼀位均可⽤来存放数值。
⽽当存放有符号位时,则留出位置存放“符号”。
因此,在机器字长相同时,⽆符号数与有符号数所对应的数值范围是不同的。
以机器字长16位为例⼦,⽆符号数的范围为0~(216-1=65535),⽽有符号数的表⽰范围为(-32768=215)~(+32767=215-1)(此数值对应原码表⽰)。
机器中的有符号数是⽤补码表⽰的。
2.有符号数对于有符号数⽽⾔,符号的正负机器是⽆法识别的,⽽在机器中是⽤0,1分别表⽰正,负的,并规定将它放在有效数字的前⾯,这样就组成了有符号数。
把符号“数字化”的数叫做机器数,⽽把带“+”或“-”符号的数叫做真值。
⼀旦符号数字化后,符号和真值就形成了⼀种新的编码。
有符号数有原码、补码、反码和移码等四种表⽰形式。
2.1 有符号数的编码⽅法-原码表⽰法原码是机器数中最简单的⼀种表⽰形式,其符号位为0表⽰正数,为1表⽰负数,数值位即真值的绝对值,故原码⼜称作带符号位的绝对值表⽰。
整数原码的定义为式中x为真值,n为整数的位数。
例如,当x=-1110时,[x]原=24-(-1110)=11110⼩数的原码定义为例如,当x=-0.1101时,[x]原=1-(-0.1101)=1.1101当x=0时[+0.0000]原=0.0000[-0.0000]原=1-(0.0000)=1.0000可见[+0]原不等于[-0]原,即原码中的零有两种表⽰形式。
原码编码的优缺点其表⽰简单明了,易于和真值转换,但⽤原码进⾏加减运算时,确带来了许多⿇烦。
2.2 有符号数的编码⽅法-补码表⽰法补码利⽤了⽣活中的“补数”的概念,即以某个数为基准,称为模数,该数对模数的取模运算的结果就是补数。
例如,-3=+9(mod12),4=4(mod12)=16(mod12)。
第1章 基础知识2机器中符号数的表示法

例如n=16: -32767~+32767 反码表示范围: -(2n-1-1) ~ +(2n-1-1)
例如n=16: -32767~+32767 补码表示范围: -(2n-1) ~ +(2n-1-1)
例如n=16: -32768~+32767
2013-08
17
6. 二进制数的扩展
是指:数据从位数少扩展到位数较多——增加二进制位数。 例如从八位变为十六位 一个二进制数扩展后,应该保持这个数的大小和符号不变。 (1)源码表示的二进制数: 将符号位左移到最高位,其他全部扩展为补0 例如: 1100 0110B → 1000 0000 0100 0110B 0010 1101B → 0000 0000 0010 1101B
真值
- 1101001B (-105)
+1101110B (+110)
2013-08
4
(3)带符号数与无符号数 用一位二进制位表示数的符号:0表示正数,1表示负数, 这种表示数的方法,称为带符号数的表示方法。所表示的数, 叫做带符号的数。 带符号的数其最高位为符号位。
如果将全部有效位都用来表示数的大小,这种数的表示方
0000 0000 0000 0001 0000 0010
0111 0111 1000 1000 1110 1111 0000 0001
1111 1101 1111 1110 2013-08 1111 1111
253 254 255
-125 -126 -127
-2 -1 -0
-3 -2 -1 15
对于8位二进制数 00000000B~11111111B 源码表示范围: 11111111B ~ 01111111B: -(27-1) ~ +(27-1)
单片机简答题

简答题1.带符号的数在计算机中有哪些表示方法?特点如何?答:带符号的数在计算机中可以用原码、反码和补码表示。
采用原码和反码表示时,符号位不能同数值一道参加运算。
补码表示可以将减法运算转换为加法运算,同时数值连同符号位可以一起参加运算,这非常有利于计算机的实现。
2.单片机与其它常见微机(如PC机)有什么不同?它有什么独特优点?答:(1)主要有三点不同:一是CPU、存储器和I/O接口这几部分集成在一片芯片上;二是存储器设计采用了哈佛结构,将程序存储器和数据存储器在物理上分开;三是供位处理和位控制的资源丰富、I/O接口完善。
(2)优点:1)集成度高、价格低廉、性能/价格比高;2)程序存储器和数据存储器在物理上分开,可使程序不受干扰,抗干扰能力强;3)布尔处理能力强,适于工业控制。
3.堆栈区与一般的数据存储区有何异同?其重要作用是什么?答:堆栈区与一般存储区相同之处是:它们都属于存储器的一部分,都能存放数据。
其主要不同之处是对数据的存取规则有异:一般存储区使用随机读/写规则,而堆栈使用先进后出(或后进先出)规则。
堆栈采用这种特殊规则后,可以圆满完成子程序调用或中断调用,多级子程序嵌套等功能。
当然,堆栈区内的存储单元也可以使用随机读/写指令,但在这种情况下已经不把该单元当做堆栈看待了。
4.简述80C51单片机四个端口的带负载能力。
答:P0口的每一位口线可以驱动8个LSTTL负载。
在作为通用I/O口时,由于输出驱动电路是开漏方式,由集电极开路(OC门)电路或漏极开路电路驱动时需外接上拉电阻;当作为地址/数据总线使用时,口线输出不是开漏的,无须外接上拉电阻。
P1、P2、P3口的每一位能驱动4个LSTTL负载。
它们的输出驱动电路设有内部上拉电阻,所以可以方便地由集电极开路(OC门)电路或漏极开路电路所驱动,而无须外接上拉电阻。
5.MCS-51引线中有多少I/O引线?它们和单片机对外的地址总线和数据总线有什么关系?简述8031单片机中P0、P1、P2、P3口的主要作用。
8位有符号数的表示范围

为什么8位有符号数的范围是“-128 至+127”这是一个困惑了我几年的问题,它让我对现在的教科书和老师极其不满,从我N年前开始摸电脑时,就几乎在每一本C++教科书上都说,8 位有符号的取值范围是-128~+127,为什么不是-127~+127呢,后来的java,int 的聚值范围,再32 位计算,-2^31 ~ +2^31-1,可是,却从来没有任何一本教科书或一个老师比我解释过这个问题。
原因没有在工作上或者是什么地方直接遇到它,所以我也一直忽略它,但心里总是有一根刺.直到刚才就是刚才,无聊之极,在看汇编的书时,又遇到它了,但一如以往,书上直接地,有心地,明显地绕过了这个问题,真是可恶啊.几经周折,终于把它搞清楚了:其实它是计算机底层为了实现数值运算而决定的,涉及非常基础的源码,反码,补码知识,一般用不上,但是计算机考试除外。
用2^8来表示无符号整数的话,全世界的理解都是0 - 255了,那么,有符号呢? 用最高位表示符号,0 为+,1 为-,那么,正常的理解就是-127 至+127 了.这就是原码了,值得一提的是,原码的弱点,有2 个0,即+0 和-0,还有就是,进行异号相加或同号相减时,比较笨蛋,先要判断2个数的绝对值大小,然后进行加减操作, 最后运算结果的符号还要与大的符号相同.于是乎,反码产生了,原因....略,反正,没过多久,反码就成为了过滤产物,也就是,后来补码出现了.补码的知识不说述,只说有关+127 和-128 的.官方的定义[-2^(n-1),2(n-1)-1],补码的0 没有正负之分.原因呢?没有一本书上有说,这也是我这么火的原因,但通过思考,google,再思考,很快找到答案:首先,难不免干点白痴般地事情,穷举一下...正数,原码跟补码一样+127, 0111 1111+126, 0111 1110+125, 0111 1101+124, 0111 1100+123, 0111 1011+122, 0111 1010...+4, 0000 0100+3, 0000 0011+2, 0000 0010+1, 0000 00010, 0000 0000 (无正负之分)下面是负数了,值,原码,符号位不变其它取反,+1-1, 1000 0001, 1111 1110, 1111 1111-3, 1000 0011, 1111 1100, 1111 1101-4, 1000 0100, 1111 1011, 1111 1100-5, 1000 0101, 1111 1010, 1111 1011-6, 1000 0110, 1111 1001, 1111 1010-7, 1000 0111, 1111 1000, 1111 1001-8, 1000 1000, 1111 0111, 1111 1000-9, 1000 1001, 1111 0110, 1111 0111-10, 1000 1010, 1111 0101, 1111 0110-11, 1000 1011, 1111 0100, 1111 0101-12, 1000 1100, 1111 0011, 1111 0100-13, 1000 1101, 1111 0010, 1111 0011-14, 1000 1110, 1111 0001, 1111 0010-15, 1000 1111, 1111 0000, 1111 0001-16, 1001 0000, 1110 1111, 1111 0000-17, 1001 0001, 1110 1110, 1110 1111...-24, 1001 1000, 1110 0111, 1110 1000...-99, 1110 0011, 1001 1100, 1110 0100...-124, 1111 1100, 1000 0011, 1000 0100-125, 1111 1101, 1000 0010, 1000 0011-126, 1111 1110, 1000 0001, 1000 0010-127, 1111 1111, 1000 0000, 1000 0001看出点什么了没有?如果没有,那么,给个提示, 再继续下去,下一个补码是什么呢?当然是-128, 先略过,再略过, 1000 0000-127 补码是1000 0001 还可以在减去1 1000 0000 -1281000 0000,那么,它的原码是什么呢?从补码求原码的方法跟原码求补码是一样的先保留符号位其它求反: 1111 1111, 再加1:11000 0000, 超过了8 位了对,用8 位数的原码在这里已经无法表示了关键就在这里,补码1000 0000 为-128 是不用怀疑的(上面的穷举),那么,回到原码处, 它的原码也是1000 0000(超出的自动丢失),1000 0000 在原码表示什么呢? -0, 但补码却规定0 没有正负之分转换一下思路,看看计算机里,是怎么运算的:对于负数,先取绝对值,然后求反,加一-128 -> 128 -> 1000 0000 -> 0111 1111 -> 1000 0000现在明确了吧.所以, 8 位有符号的整数取值范围的补码表示1000 0000 到0000 0000, 再到0111 1111即-128 到0, 再到127最终-128 ~ +127-------------------------完------------------------。
数学符号表

数学符号表
数学上,有一组常在数学表达式中出现的符号。
数学工作者熟悉这些符号,不是每次使用都加以说明。
所以,对于数学初学者,下面的列表给出了很多常见的符号包括名称、读法和应用领域。
另外,第三栏有一个非正式的定义,第四栏有个简单的例子。
补充说明
然而原表中虽然有六十余个符号,却对初等数学的符号尚未罗列完整,随便点出几处:
原表
有阶乘符号而无排列组合符号;
有函数符号而无反函数符号;
有代数符号而基本无几何、三角、反三角符号(仅有一个垂直符号);
有平方根符号而无立方根、n次方根符号;
有导数符号而无极限符号;
有等于符号而无恒等于、同余符号;
有向量叉乘符号而无有向线段、向量、向量数量乘积(点乘积)符号;
有复数绝对值(应为模)符号而无复数、共轭复数、复数实虚部符号;
无对数符号、指数符号
对于高等数学,表中所列符号仅占全部符号的1/3。
另外表中所列符号还有错误和赘疣:
符号| | :对实数是绝对值,对复数是模(尤其对虚数);
符号Φ:表示空集,空集不是用{ } 表示;
符号≌:几何中表示全等,近世代数(群论)中表示同构,同构不是用≈号;
符号-:集合论中的补集,这在过去是对的,但现在集合论中的补集已不是这个符号,
复合函数符号没有省去或简化任何一个字符,反而多出一个赘疣,有悖定义符号的原则,不知是哪位教授独创?符号规定应有部颁标准,当然也符合绝大多数数学工作者的习惯,少数独创的应不在此列。
物理符号大全

物理符号大全注:由于符号中特殊符号无法在此编辑器中显示,因此对于这部分符号只能用文字描述。
一、数学符号1. $\alpha$,$\beta$,$\gamma$:希腊字母,通常用于表示角度、系数等。
2. $\theta$:希腊字母,通常用于表示角度。
3. $\pi$:希腊字母,代表圆周率。
4. $\infty$:无限大,表示数列或函数趋于无限大。
5. $\pm$:加减号,表示正数或负数。
6. $\times$:乘号,表示两个数相乘。
7. $\div$:除号,表示一个数除以另一个数。
8. $\sqrt{a}$:平方根,表示一个数的平方根。
9. $a^n$:指数,表示一个数的n次方。
10. $log_a{b}$:对数,表示以a为底b的对数。
11. $\sum$:求和符号,表示将一列数相加。
12. $\prod$:乘积符号,表示将一列数相乘。
13. $<$,$>$:大于号和小于号,表示大小关系。
14. $\leq$,$\geq$:小于等于号和大于等于号,表示大小关系。
15. $=$:等于号,表示两个数相等。
16. $\neq$:不等于号,表示两个数不相等。
17. $\approx$:约等于号,表示两个数近似相等。
18. $\in$:属于,表示一个数属于某个集合。
19. $\notin$:不属于,表示一个数不属于某个集合。
20. $\mid$:竖线,表示除法的分数线,或表示绝对值。
21. $\rightarrow$:箭头,表示方向。
22. $\leftrightarrow$:双向箭头,表示两个方向。
二、物理符号23. $E$:能量,单位为焦耳。
24. $m$:质量,单位为千克。
25. $v$:速度,单位为米/秒。
26. $a$:加速度,单位为米/秒^2。
27. $q$:电荷量,单位为库仑。
28. $G$:万有引力常数,单位为牛顿·米^2/千克^2。
29. $F$:力的大小,单位为牛顿。
16bit带符号数的16进制表示

标题:16bit带符号数的16进制表示1. 前言16bit带符号数是在计算机科学中常见的数据类型之一。
它可以表示范围广泛的数值,包括正数、负数和零。
在进行数据处理和存储时,我们经常需要将这些数值转换成不同的表示方式,其中包括16进制表示。
本文将讨论16bit带符号数的16进制表示方法,以及相关的计算和应用。
2. 16bit带符号数的定义在计算机中,16bit带符号数是指由16个二进制位组成的数据类型,其中一位用来表示符号位(0表示正数,1表示负数),其余15位用来表示数值。
它的取值范围为-xxx到xxx。
在不同的编程语言和评台中,对于16bit带符号数的表示方式可能有所不同,但其基本概念是一致的。
3. 16进制表示方法将16bit带符号数转换成16进制表示可以简化数据的存储和处理。
在进行转换时,首先需要将数值转换成二进制形式,然后再根据一定的规则将二进制数值转换成16进制表示。
以下是16bit带符号数转换成16进制表示的步骤:3.1 将十进制数值转换成二进制形式对于正数,直接将其转换成二进制形式即可;对于负数,则需要先将其绝对值转换成二进制形式,然后取反加一得到补码表示。
十进制数-10对应的二进制表示为xxx。
3.2 将二进制数值分割成四位一组将得到的二进制数值分割成四位一组,不足四位的在前面补0。
xxx可以分割为1111和0110。
3.3 将每组二进制数值转换成对应的16进制表示将每组四位二进制数值转换成对应的16进制表示。
1111对应的16进制表示为F,0110对应的16进制表示为6。
3.4 合并各组16进制数值将得到的各组16进制数值合并在一起,得到最终的16进制表示。
-10的16进制表示为F6。
4. 计算示例为了更好地理解16bit带符号数的16进制表示方法,我们可以通过一个具体的计算示例来加深印象。
假设我们需要将十进制数-xxx转换成16进制表示,我们可以按照上述步骤进行计算:1. 将-xxx转换成二进制形式-xxx的绝对值为xxx,它的二进制表示为xxx。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.1.3数的定点表示与浮点表示
一、定点表示法
计算机一次所能计算的二进制数的加减 乘除的位数是有限制的,这就决定了一次 计算是由精度限制的。我们知道,用来存 储数的位数越长,数的精度越高,但是计 算机一次所能运算的长度有限,所以要达 到高精度的运算有以下几个途径: 1.让计算机一次可以做更长的四则运算。 2.用人工分解的办法编制程序,把一个很长 的二进制数的四则运算分解成很多步较短 的二进制运算组合。
(2)定点小数的补码表示[X]补=
X 0≤X<1
(mod 2)
2-|X| -1≤X<0
例: 若X=0.1011,则X补=X=0.1011(mod 2) 若X<0,则X补=M+X=M-|X|。因而负数的 补码等于模M减去该数的绝对值。 例:若X=-0.1011,则 X补=2 - 0.1011=1.0101
一、原码表示法━最高位表正负,其余是 数的绝对值的大小。注意我们在日常生活 中用笔写小数的时候,很轻松的在纸上点 上小数点,但是小数点在计算机中一般是 计算机默认在某一位上,用不着留下空间 专门来存放这个表示点的信号的。
1.定点小数 X0 X1 X2 X3 X4
….. ….. ….. …..
Xn
2.1.2带符号数的表示
2.1.2带符号数的表示
一、补码表示法
补码的补充说明: 就象我们前面所演示给大家看的是补码 的发现其实是为了消灭减法,大家可以用 这样一种思维去理解补码:补码其实就是 专门针对负数而发明出来的,正数根本不 需要什么补码,补码是一个减法的差,所 以求一个数的补码就是做一个减法。
2.1.2带符号数的表示
而四位二进制定点小数的最小表示数只能是
2.1.3数的定点表示与浮点表示
一、定点表示法
0 0 0 1
换算成十进制就是0.03125,这就是精 度。换言之,数是每次跳跃0.03125增大或 减小这个大小的数的。在计算机科学中, 专业术语称之为“离散值”,因为如果把 这些二进制数标注在坐标轴上,大家看到 的是一些有固定间隔的一些点。
一、浮点表示法
2.移码(增码) X移=2m+X -2m≤X<2m 移码与补码的表示范围相同,只是在代 码形式上符号位相反而已。 举例: X=-(128)十进制=-(10000000)二进制 上面的两个数分别是十进制和二进制的真值, 设浮点数阶码共8位 移码为X=27+(-10000000)=00000000
X补=1.0110
反码?
1.3.2 补码的加法和减法 我们知道,对一个正数的补码表示按位求反后再在末位加1,可 以得到与此正数相应的负数的补码表示。我们把这种对一个二进制数 按位求反后在末位加1的运算称为求补运算,可以证明补码表示的数 具有以下特性:[X]补=〉[-X]补=〉[X]补在这里只用例子来说明。 由例1.13可见: [117]补=0075H [-117]补=FF8BH 现对[-117]补作求补运算: [-117]补为 1111 1111 1000 1011 按位求反后得 0000 0000 0111 0100 末位加1后得 0000 0000 0111 0101 此数正是[+117]补=0075H 这一特性在补码的加、减法运算中很有用。
2.1.3数的定点表示与浮点表示
第35页,关于溢出的重要概念 3.采用浮点计数法 二进制浮点数就是二进制的科学计数法。 科学计数法是有格式上的要求的,必须按 照严格的格式要求来转化二进制数。
2.1.3数的定点表示与浮点表示
一、浮点表示法
浮点数由一个定点整数和一个定点小数 组成。真值为:N=±REM, R=2 1.浮点数的原理性(格式) 就是科学计数法的二进制延伸。
由真值、原码转换为补码
正数的补码表示与原码相同。 (1)负数的原码转换为补码的方法之一 同整数。按位求反,末位加一。 此时符号位保持不变。 例: X原=1.1010
尾数变反 1.0101 末位加1 1 X补=1.0110
(2)负数原码转换为补码的方法之二 符号位保持不变,尾数部分自低位向高 位,第一个1及其以前的各低位0都保持不变, 以后的个高位按位求反。 例 X原=1.1010
一、补码表示法
12
11
10
9
负 数 区 域
正 数 区 域
8
7
6
X
0≤X<2n
(3)定点整数的补码表示[X]补=
(mod 2n+1)
2n+1-|X| -2n≤X<0
例:若X=1011000,则X补=01011000 例:若X=-1011000,则X补=27 -1011000 =10000000- 1011000 =10101000
2.1.3数的定点表示与浮点表示
一、定点表示法
而如果这个存储单元里存放的是定点小 数的话,比如存放的是0.1011,大家知道, 这个四位二进制小数的十进制数是: S=1×2-1+0×2-2+1×2-3+1×2-4 S=1×0.5+0×0.125+1×0.0625+1×0.0312 5
1 0 1 1
2.1.2带符号数的表示一、补码表示法
4.特点 (1)符号位既起指示正负号的作用,又参 与运算 (2)0只有一种表示法
2.1.3数的定点表示与浮点表示
一、定点表示法 定点小数 定点整数 二、浮点表示法 定点小数+定点整数
2.1.3数的定点表示与浮点表示
一、定点表示法
1.无符号定点整数(针对于正数来说)
例1、14 如机器字长为8位,则-46D的补码表示为: +46的补码表示为 0010 1110 按位求反后为 1101 0001 末位加1后 1101 0010 用十六进制数表示为 D 2 即[-46]补 =D2H 至此,读者应该已经学会了一个数的补码表示法。在这里,顺便说明一下, 用补码表示数时的符号扩展问题。所谓符号扩展,是指一个数从位数较少扩展到 位数较多(如从8为扩展到16位,或从16为扩展到32位)时应该注意的问题。对于 用补码表示的数,正数的符号扩展应该在前面补0,而负数的符号扩展则应该在 前面补1。例如,我们已经知道如机器字长为8位,则[+46]补=00101110,[- 46]补 =11010010;如果把它们扩展到16位,则[+46]补=0000000000101110=002EH, [- 46] 补=1111111100101110=FFD2H。 下面,再来讨论一下n为补码表示数的范围问题。8为二进制数可以表示 28=256个数,当它们是补码表示的带符号数时,它们的表数范围是 128<=N<=+127。一般说来,n为补码表示的数的表数范围是: -2n-1<=N<=2n-1-1 所以,n=16时的表数范围是:-32768<=N<=+32767
下面介绍一种比较简单的办法来写出一个负数的补码表示:先写 出与该负数相对应的正数的补码表示(用符号-绝对值法),然后将 其按位求反(即0变1,1变0),最后在末位(最低位)加1,就可以得 到该负数的补码表示了。 例1.13 机器字长为16位,写出N=-117D的补码表示。 +117D可表示为 0000 0000 0111 0101 按位求反后为 1111 1111 1000 1010 末位加1后 1111 1111 1000 1011 用十六进制表示为 F F 8 B 即[ -117 ]补=FF8BH
2.带符号定点整数 (纯整数,小数点在最低为之后)
3.带符号定点小数 (纯小数,小数点左边是符号位)
2.1.3数的定点表示与浮点表示
一、定点表示法
1.无符号定点整数 最高位再也不用表示正负号了,最高位 也表示数值的大小
1 2 3 4 5 6 7 8
2.1.3数的定点表示与浮点表示
一、定点表示法
关于数的精度的问题: 每一块CPU、CPU内的寄存器、主存储 器在它们的计算单元和存储单元中,在一 步四则运算中,所作的数的位数是有限的 和固定的,这就存在着数的精度的问题。 我们先看一个例子: 一个四位长度的存储单元 如果在这个存储单元内存放的是二进制整数 的话,这些整数的精度就是1
如果把最高位的0、1看成正负号的话,则上面的两个机 器数都表示数值0
2.1.2带符最高位表示符号, 其余位表示绝对值,则:应该为+0和-0, 所以原码表示法的机器数0有两种表示法。 例子:按照我们日常的书写习惯写就的真值 X=+0.1011和X=-0.1011,求其在计算机内部 的原码机器数
2.1.2带符号数的表示
一、原码表示法
3.原码表示法的特点: (1)0有两种表示 (2)小数表示范围-1<x<1 整数表示范围-2n<x<2n (3)运算时符号位单独处理 原码其实就是最高位使用0、1表示的符 号位加上数的绝对值来表示的一种只有计 算机才能使用而不是让人使用的一种机器 数。
2.1.2带符号数的表示
一、原码表示法
原码表示法的优点和缺点: 1.原码最大的好处就是乘除法容易,只 要把原码的绝对值部分进行运算而无须考 虑符号。 2.原码的缺点:怎么做减法?也就是说, 具体这一次的原码运算究竟是做加法还是 减法,是由运算符和两个运算数的正负号 共同决定的,而不是很明确地立刻知道这 个运算是什么?如3-(-2)=?这大大影响 计算机的运算速度。
2.1.2带符号数的表示
因为带符号数本质上就是将最高位的电信号 不当作数字内容而当作正负号内容,而每一内存 单元或寄存器单元都是有固定的bit位数的,所以 符号位就占了一位,表数的范围就有了变化。 一、原码表示法 二、补码表示法 三、反码表示法