1 / 10

例 1 、无符号数 10000001, 值 =2 7 +2 0 =129 有符号数 10000001, 值 = ? 与采用的机器码有关 一、数的定点与浮点表示 二、数据的机器码表示

内存由若干存储单元构成,一存储单元由若干字节构成。 若,一字节存放一个数据: 例、 0 0 0 0 0 1 1 0 ( 一字节有八位二进制位构成) 最高位 最低位 若,两字节存放一个数据: 例、 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 最高位 最低位 表示有符号数时,最高位作为符号位 0 ── 正 1 ── 负.

lihua
Download Presentation

例 1 、无符号数 10000001, 值 =2 7 +2 0 =129 有符号数 10000001, 值 = ? 与采用的机器码有关 一、数的定点与浮点表示 二、数据的机器码表示

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 内存由若干存储单元构成,一存储单元由若干字节构成。 若,一字节存放一个数据: 例、0 0 0 0 0 1 1 0 (一字节有八位二进制位构成)最高位 最低位 若,两字节存放一个数据: 例、 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1最高位 最低位 表示有符号数时,最高位作为符号位 0 ──正1 ──负 .

  2. 例1、无符号数 10000001, 值=27+20=129 有符号数 10000001,值=?与采用的机器码有关 一、数的定点与浮点表示二、数据的机器码表示

  3. 一、数的定点与浮点表示 计算机处理的数据可能既有整数部分又有小数部分,必须约定小数位置,可以有两种约定:定点和浮点 例、(1011.10)2=(10111.0×2-1)2 =(1.01110×211)2 对于二进制数N: N=±S×2±J尾符(或数符) 尾数 底 阶符 阶码 J固定不变 ── 定点表示J可变 ── 浮点表示 ⒈ 定点表示 一般取 J=0 , 则 N=±S 符号 尾数 “符号”占一位,0表示正、1表示负.

  4. 例、+110101 0 0 1 1 0 1 0 1符号 尾数 小数点 +0. 001 0 0 0 1 0 0 0 0符号 尾数 •小数点不占用二进制位,隐含在某固定位置上。隐含在数的最低位之后,称定点整数;隐含在符号位之后、数的最高位之前,称定点小数。 •定点数表示范围受限。 ⒉ 浮点表示 • 基本思想:把数的有效数字和数的表示范围分开表示 阶符 阶码 尾符 尾数表示范围 有效数字 ( 或有效数字在前、表示范围在后。)

  5. 例、x=(+101101)2=(+0.101101×2110)2 表示为 0 110 0 101101 • 浮点数的底不出现在浮点数中,一般隐含为2。小数点也不出现在浮点数中,约定 尾数一定是纯小数 阶码一定是纯整数 .

  6. 二、数据的机器码表示 • 机器码常用的有原码、反码、补码。 • 真值: 一般书写表示的数值, 或者说机器所代表的实际值. • 机器数:表示一个数值数据的机内编码.一般采用补码形式 ⒈ 原码: 真值为:x=±x1x2 …xn原码:[x]原= 0 x1x2 …xn ,x ≥ 0 1 x1x2 …xn ,x ≤ 0 例、(-5)10 =(-0000101)2/*以下例子均以一字节存一个数为例*/ [+5]原= 00000101 [ -5]原= 10000101 [+0]原= 00000000 0的正负有区别 [ -0]原= 10000000 前例1、∵ (10000001)原= -1 ∴若10000001为原码, 则其真值=-1 .

  7. ⒉ 反码: 真值: x=±x1x2 …xn 若 xi=1 , 则 xi=0 ( xi 取反)xi=0 , 则 xi=1 [x]反= 0 x1x2 …xn ,x ≥ 0 或 [x]原=x0x1x2 …xn 1 x1x2 …xn ,x ≤ 0 [x]反= [x]原 , x ≥ 0 x0x1x2 …xn , x ≤ 0 例、[+5]反= 00000101 [ -5]反= 11111010 [+0]反= 00000000 0的正负有区别 [ -0]反= 11111111 前例1、∵ (10000001)反=(11111110)原=(-1111110)2=(-126)10 ∴若10000001为反码, 则其真值=-126 .

  8. ⒊ 补码 ⑴ 模: 例、16 mod 12=4 (16点为下午4点) 12就称为模数或称模12  在模 n下的意义:x=n+x 例 x=4时, 4+12=4 例 x=-5时, -5+12=-5 即 7=-5 (mod 12) 7和 -5对于12互为补码 若x<0时, 正数“加上负数”可用“加上该负数对应的补码(正数)”实现: 例9+(-5)=9+7 (mod 12)  在计算机中,n位二进制数的模为 2n .

  9. ⑵补码 真值: x=±x1x2 …xn[x]补= 0 x1x2 …xn ,x ≥ 0 或 [x]反=x0x1x2 …xn M+x ,x ≤ 0 (M为模)[x]补= [x]反 , x ≥ 0 [x]反+1 , x ≤ 0(即末位加1) 例、[+5]补= 00000101 [ -5]补= 11111010+1=11111011 [+0]补= 00000000 0的补码是唯一的 [ -0]补=11111111 +1=00000000 前例1、∵ (10000001)补=(10000000)反=(11111111)原 = -127 ∴10000001为原码, 则其真值=-127

  10. • 但补码比反码、原码表示的数据多 例、 [-128]补=10000000 ∵八位二进制数的模 M=28 而 [x]补= M+x ,x ≤ 0 (M为模) ∴[-128]补=[-10000000]补=28 + (-10000000) =10000000

More Related