第2章 计算机中数据信息的表示和运算-浮点表示

合集下载

第2章_数据类型、运算符和表达式《C语言程序设计(第三版)》-电子教案

第2章_数据类型、运算符和表达式《C语言程序设计(第三版)》-电子教案

2.2 标识符、常量与变量

符号常量
【例2-1】输入圆的半径,计算周长和面积。 #define PI 3.14159 void main() { float r,c,s; scanf("%f",&r); c=2*PI*r; s=PI*r*r; printf("r=%f,c=%f,s=%f\n",r,c,s); }

以下是合法的整型常量:

2.2 标识符、常量与变量

实型常量

实型常量只能用十进制形式表示 表示形式:


小数形式。由数字序列和小数点组成,如 3.1415926、-0.15、.15、2.等都是合法的实型 常量。 指数形式。由十进制数加上阶码标志“e”或 “E”及阶码组成,如3.14e-4或3.14E-4表示 3.14×10-4。
2.2 标识符、常量与变量

2.2.3 变量


在程序运行过程中,其存储的值可以被改变的量称 为变量 变量必须通过标识符进行说明,称为变量名。 变量名和内存单元地址存在映射关系,程序可以通 过变量名寻址,从而访问其存储的数据。
2.2 标识符、常量与变量

变量的定义和说明

数据类型 变量名1[,变量名2,…,变量名n];
long型转换成float型时由原来可达10位整数变成只有7位有效数字精度丢失但由于数的范围扩大了数据类型从较低级提升到较高级随着竞争日益激烈酒店嘴中的肥肉被大肆抢夺各大酒店在这场竞争中几乎溃不成军
21世纪高等学校精品规划教材
第2章 数据类型、运算符 和表达式



掌握C语言的基本数据类型 掌握标识符、关键字、常量和变量的使用 掌握运算符、表达式以及数据类型之间的转换 等 掌握简单数据的输入输出

第二章 计算机中的信息表示 2.1 数在计算机中的表示

第二章 计算机中的信息表示 2.1 数在计算机中的表示

(e)八进制和二进制之间的转换 1、为什么要有八进制和十六进制 2、二进制到八进制之间的转换 八进制的特征:有0-7八个数,逢八进一 二进制和八进制之间的转换 例: (10100.1011)2——(?)8 010 100 . 101 100 2 4 . 说明划分时的注意事项 5 4
3、八进制和二进制之间的转换 例: (326.125)8——(?)2 3 2 6 . 1 2
011 010 110 . 001 010
5
101
(f)二进制和十六进制之间的转换 十六进制的特征: 二进制和十六进制之间的转换
(11010111100.11011)2 = (0110 1011 1100.1101 1000)2 = (6BC.D8)16 (F28)16=(1111 0010 1000)2
在原码中0有两种表示: [+0]=00000000 [-0]=10000000
原码能够表示的数的范围:
特点: (1)直观,与真值转换很方便; (2)进行乘、除运算方便 (3)加、减运算比较麻烦,比如:一 个正数和一个负数相加必须要考虑符 号问题。
(f)反码:
规则:对于正数,其反码与原码相同, 对于负数,符号位为1,其数值位X的 绝对值取反 例:[+2]反=00000010 [-2]反=11111101 [+0] 反=00000000 [-0] 反=11111111
2 信息的表示 2.1 信息在计算机中的表示
为什么要采用二进制
1、电路简单: 2、工作可靠: 3、简化运算: 4、逻辑性强:
2.1.1 数制及其转换
1)数制 ①什么是进位计数制 一般而言,对于任意的R进制数 An-1An-2......A1A0A-1A-2A-3.......A-m (其中n为整数位 数,m为小数位数) 其值可以表示为: An-1×Rn-1+An-2×Rn-2......A1×R1+A0×R0+ A1×R-1+A-2×R-2+A-3×R-3.......A-m×R-m

计算机组成原理 第2章

计算机组成原理 第2章

《计算机组成原理与实验》 冶金工业出版社
计算机组成原理——第 2章
原码、反码与补码
• 例2:已知[x]补=11101110,求[-x]补、[x]反、[x]原及真值x。 解:[-x]补=00010010 ([x]补取反加1) [x]反=11101101 ([x]补减1) [x]原=10010010 ([x]原低7位取反) 真值x=-0010010B=-12H=-18D
《计算机组成原理与实验》 冶金工业出版社
计算机组成原理——第 2章
补码表示法
• 对定点整数,补码的定义是: X [X]补= 2n > x 0 (mod 2n+1)
2n+1+x=2n+1-|x|
0 > x -2n
《计算机组成原理与实验》 冶金工业出版社
计算机组成原理——第 2章
补码表示法
• 利用补码可以将减法运算变成加法运算来实现。但是 根据补码定义,求负数的补码要从2减去|X|。为了用加 法代替减法,结果还得在求补码时作一次减法,这显 然是不方便的。可以利用反码的方式解决负数的求补 问题。 • 另一方面,利用补码实现减法运算,可以和常规的加 法运算使用用一加法器电路,从而简化了计算机的设 计。
移码表示法
• 移码的定义:[X]移=2n +X (-2n = <x< 2n)n为阶码数值位 (除符号位)
• 移码的计算:先求出X的补码,再对其符号位取反或直接利用定 义计算。
《计算机组成原理与实验》 冶金工业出版社
计算机组成原理——第 2章
移码的特点
(1)在移码中,最高位为“0”表示负数,最高位为“1”表示正数。 (2)移码为全0时,它所对应的真值最小,为全1时,它所对应的真 值最大。因此,移码的大小比较直观地反映了真值的大小,这有 助于比较两个浮点数阶码的大小。 ( 3 ) 真 值 0 在 移 码 中 的 表 示 形 式 是 唯 一 的 , 即 [+0] 移 =[-0] 移 = 100…0。 (4)移码把真值映射到一个正数域,所以可将移码视为无符号数, 直接按无符号数规 则比较大小。 (5)同一数值的移码和补码除最高位相反外,其他各位相同。

计算机组成原理第二章-计算机数据表示方法

计算机组成原理第二章-计算机数据表示方法
Confederal Confidential
9
一、计算机内的数据表示
6) 移码(增码)表 示
•移码表示浮点数的阶码,只有整数形式,如IEEE754中阶码用移码表示。
设定点整数X的移码形式为X0X1X2X3…Xn
则移码的定义是:
[X]移= 2n + X
2n X - 2n
•具体实现:数值位与X的补码相同,符号位与补码相反。
[X]补
10000001 11111111
[X]移
00000001 01111111
00000000 10000000
00000001 01111111
10000001 11111111
Confederal Confidential
11
一、计算机内的数据表示
3.计算机中常用的两种数值数据格式 1)定点数 •可表示定点小数和整数 •表现形式:X0.X1X2X3X4……..Xn
Confederal Confidential
15
一、计算机内的数据表示 IEEE754 32位浮点数与对应真值之间的变换流程
Confederal Confidential
16
一、计算机内的数据表示
例5 将十进制数20.59375转换成32位IEEE754格式浮点数的二进 制格式来存储。
解:先将十进制数换成二进制数: 20.59375=10100.10011(0.5+0.25+0.125+0.0625+0.03125) 移动小数点,使其变成1.M的形式 10100.10011=1.010010011×24
16
17
一、计算机内的数据表示
例6 若某浮点数x的二进制存储格式为(41360000)16 ,求与其对应 的32位浮点表示的十进的值。

计算机系统导论——读书笔记——第二章信息的表示和处理

计算机系统导论——读书笔记——第二章信息的表示和处理

计算机系统导论——读书笔记——第⼆章信息的表⽰和处理第⼆章信息的表⽰和处理2.1 信息存储2.1.1 ⼗六进制2.1.2 字数据⼤⼩2.1.3 寻址和字节顺序1.地址:对象所使⽤的字节中最⼩的地址2.⼤端法:最⾼有效字节在前⼩端法:最低有效字节在前(⼤多Intel兼容机使⽤)3.发送⽅机器(内部代码)——>⽹络应⽤程序(⽹络标准)——>接收⽅机器(内部代码)4.⼩程序——打印程序对象的字节表⽰1 #include <stdio.h>2using namespace std;34 typedef unsigned char * byte_pointer;//定义类型:指向unsigned char的指针56void show_byte(byte_pointer start, size_t len){7 size_t i;8for(i = 0; i < len; ++i)9 printf(" %.2x", start[i]);//%.2x表⽰整数必须⽤⾄少两个数字的⼗六进制格式输出10 printf("\n");11 }1213void show_int(int x){14 show_byte((byte_pointer) &x, sizeof(int));15 }1617void show_float(float x){18 show_byte((byte_pointer) &x, sizeof(float));19 }2021void show_double(double x){22 show_byte((byte_pointer) &x, sizeof(double));23 }2425void show_pointer(void * x){//void*是特殊类型的指针,没有相关联的类型信息26 show_byte((byte_pointer) &x, sizeof(void *));27 }2829int main(){30int x;31float y;32double z;33while(scanf("%d %f %lf", &x, &y, &z)){34 show_int(x);35 show_float(y);36 show_double(z);37 show_pointer(&x);38 show_pointer(&y);39 show_pointer(&z);40 }41return0;42 }输⼊111-1-1.0-1.0123451.0011.001输出01 00 00 0000 00 80 3f00 00 00 00 00 00 f0 3f98 f5 bf ef fe 7f 00 0094 f5 bf ef fe 7f 00 0088 f5 bf ef fe 7f 00 00ff ff ff ff00 00 80 bf00 00 00 00 00 00 f0 bf98 f5 bf ef fe 7f 00 0094 f5 bf ef fe 7f 00 0088 f5 bf ef fe 7f 00 0039 30 00 00c5 20 80 3f6a bc 74 93 18 04 f0 3f98 f5 bf ef fe 7f 00 0094 f5 bf ef fe 7f 00 0088 f5 bf ef fe 7f 00 00我的电脑是MaxOS,可以看出它是64位系统,采⽤⼩端法表⽰5.可以通过在终端(mac是terminal,windows是命令⾏⼯具)执⾏命令man ascii得到⼀张ASCII字符码表,回车后运⾏结果如下ASCII(7) BSD Miscellaneous Information Manual ASCII(7)NAMEascii -- octal, hexadecimal and decimal ASCII character setsDESCRIPTIONThe octal set:000 nul 001 soh 002 stx 003 etx 004 eot 005 enq 006 ack 007 bel010 bs 011 ht 012 nl 013 vt 014 np 015 cr 016 so 017 si020 dle 021 dc1 022 dc2 023 dc3 024 dc4 025 nak 026 syn 027 etb030 can 031 em 032 sub 033 esc 034 fs 035 gs 036 rs 037 us040 sp 041 ! 042 " 043 # 044 $ 045 % 046 & 047 '050 ( 051 ) 052 * 053 + 054 , 055 - 056 . 057 /060 0 061 1 062 2 063 3 064 4 065 5 066 6 067 7070 8 071 9 072 : 073 ; 074 < 075 = 076 > 077 ?100 @ 101 A 102 B 103 C 104 D 105 E 106 F 107 G110 H 111 I 112 J 113 K 114 L 115 M 116 N 117 O120 P 121 Q 122 R 123 S 124 T 125 U 126 V 127 W130 X 131 Y 132 Z 133 [ 134 \ 135 ] 136 ^ 137 _140 ` 141 a 142 b 143 c 144 d 145 e 146 f 147 g150 h 151 i 152 j 153 k 154 l 155 m 156 n 157 o160 p 161 q 162 r 163 s 164 t 165 u 166 v 167 w170 x 171 y 172 z 173 { 174 | 175 } 176 ~ 177 delThe hexadecimal set:00 nul 01 soh 02 stx 03 etx 04 eot 05 enq 06 ack 07 bel08 bs 09 ht 0a nl 0b vt 0c np 0d cr 0e so 0f si10 dle 11 dc1 12 dc2 13 dc3 14 dc4 15 nak 16 syn 17 etb18 can 19 em 1a sub 1b esc 1c fs 1d gs 1e rs 1f us20 sp 21 ! 22 " 23 # 24 $ 25 % 26 & 27 '28 ( 29 ) 2a * 2b + 2c , 2d - 2e . 2f /30 0 31 1 32 2 33 3 34 4 35 5 36 6 37 738 8 39 9 3a : 3b ; 3c < 3d = 3e > 3f ?40 @ 41 A 42 B 43 C 44 D 45 E 46 F 47 G48 H 49 I 4a J 4b K 4c L 4d M 4e N 4f O50 P 51 Q 52 R 53 S 54 T 55 U 56 V 57 W58 X 59 Y 5a Z 5b [ 5c \ 5d ] 5e ^ 5f _60 ` 61 a 62 b 63 c 64 d 65 e 66 f 67 g68 h 69 i 6a j 6b k 6c l 6d m 6e n 6f o70 p 71 q 72 r 73 s 74 t 75 u 76 v 77 w78 x 79 y 7a z 7b { 7c | 7d } 7e ~ 7f delThe decimal set:0 nul 1 soh 2 stx 3 etx 4 eot 5 enq 6 ack 7 bel8 bs 9 ht 10 nl 11 vt 12 np 13 cr 14 so 15 si16 dle 17 dc1 18 dc2 19 dc3 20 dc4 21 nak 22 syn 23 etb24 can 25 em 26 sub 27 esc 28 fs 29 gs 30 rs 31 us32 sp 33 ! 34 " 35 # 36 $ 37 % 38 & 39 '40 ( 41 ) 42 * 43 + 44 , 45 - 46 . 47 /48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 756 8 57 9 58 : 59 ; 60 < 61 = 62 > 63 ?64 @ 65 A 66 B 67 C 68 D 69 E 70 F 71 G72 H 73 I 74 J 75 K 76 L 77 M 78 N 79 O80 P 81 Q 82 R 83 S 84 T 85 U 86 V 87 W88 X 89 Y 90 Z 91 [ 92 \ 93 ] 94 ^ 95 _96 ` 97 a 98 b 99 c 100 d 101 e 102 f 103 g104 h 105 i 106 j 107 k 108 l 109 m 110 n 111 o112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w120 x 121 y 122 z 123 { 124 | 125 } 126 ~ 127 delFILES/usr/share/misc/asciiHISTORYAn ascii manual page appeared in Version 7 AT&T UNIX.BSD June 5, 1993 BSD(END)2.1.4 表⽰字符串1.⼗进制数字‘y’的ascii码正好是0x3y2.strlen(str)函数不计算终⽌的空字符(ascii码为0x00)3.字符编码⽅式:(1)ASCII (American Standard Code for Information interchange)(2)Unicode (Unique Code)(3)UTF-8 / UTF-16 / UFT-32 (Unicode Transformation Format)2.1.5 表⽰代码2.1.6 布尔代数(Boolean Algebra)简介1.布尔运算&对|有分配律:a&(b|c) = (a&b)|(a&c)布尔运算|对&有分配律:a|(b&c) = (a|b)&(a|c)2.位向量:长度为w,由0和1组成的串应⽤:表⽰有限集合/压位运算(例:[01101010]表⽰集合{1,3,5,6}),位向量掩码/屏蔽信号3.布尔环(Boolean ring),类似于整环/整数环“加法”逆元:^类似于+; 每个整数x有加法逆元-x使得x+(-x)=0,类似地,每个布尔元素a都有“加法逆元”a使得a^a=0; 有趣的性质:(a^b)^a=b 1//这是⼀个不需要第三个量的交换函数,不过它并没有性能上的优势2void inplace_swap(int *x, int *y){//*x = a, *y = b3 *x = *x ^ *y;//*x = a^b, *y = b4 *y = *x ^ *y;//*x = a^b, *y = a5 *x = *x ^ *y;//*x = b, *y = a6 }2.1.7 C语⾔中的位级运算:&, |, ^, ~2.1.8 C语⾔中的逻辑运算: &&, ||, !2.1.9 C语⾔中的移位运算:>>, <<1.逻辑右移(⾼位补0,⽆符号数进⾏逻辑右移)算数右移(⾼位补符号位,有符号数进⾏算数右移)(1)初级运算符[]().->(2)单⽬运算符(3)算数运算符(4)移位运算符(5)关系运算符(6)位级运算符(7)逻辑运算符(8)赋值运算符2.2 整数表⽰2.2.1 整形数据类型2.2.2 ⽆符号数的编码(unsigned)2.2.3 补码编码(two's-complement)1.<limits.h>库:INT_MIN, INT_MAX, UINT_MAX<stdint.h>库:intN_t, UintN_t (t = 16,32,64等)(我在xcode上没有include这两个库也能直接使⽤INT_MIN、int32_t等)2.有符号数的表⽰⽅法(1)补码(two's-complement):最⾼位权重为-2^(w-1)(2)反码(ones' complement):最⾼位权重为-(2^(w-1)-1)(3)原码(sign-magnitude):最⾼位为1表⽰所有其他位权重为负注:(2)(3)中0的表⽰法不唯⼀,有+0和-0两种2.2.4 有符号数和⽆符号数之间的转换(可能)改变数值,但不改变位表⽰1.补码转换为⽆符号数(w位):TMin <= x < 0, T2U(x) = x + 2^w0 <= x <= TMax, T2U(x) = x2.⽆符号数转换为有符号数(w位):0 <= x <= TMax, U2T(x) = xTMax < x <= UMax, U2T(x) = x - 2^w2.2.5 C语⾔中的有符号数和⽆符号数1.数字常量默认为有符号数,加上后缀u或U可创建⽆符号数常量2.类型转换的⽅式:(1)显式:强制类型转换(2)隐式:不同类型变量间赋值3.%d有符号⼗进制,%u⽆符号⼗进制,%o⼋进制,%x⼗六进制4.C语⾔对于同时包含有符号数和⽆符号数的表达式,会隐式地将有符号数转换为⾮负的⽆符号数 1/*2这是⼀个测试函数3注:TMin写成-2147483647-1⽽⾮-21474836484是因为limits.h中定义INT_MIN=-INT_MAX-1,以规避某些奇怪的现象5*/6 #include <cstdio>7using namespace std;89int main(){10 printf("-1 < 0u = %d\n", -1 < 0u);11 printf(" -1 = 0x%x \n", -1);12 printf(" 0u = 0x%x\n\n", 0u);1314 printf("2147483547 > (int)2147483648u = %d\n", 2147483547 > (int)2147483648u);15 printf(" 2147483547 = 0x%x \n", 2147483547);16 printf(" (int)2147483648u = 0x%x\n\n", (int)2147483648u);1718 printf("-2147483647-1u < 2147483647 = %d\n", -2147483647-1u < 2147483647);19 printf(" -2147483647-1u = 0x%x \n", -2147483647-1u);20 printf(" 2147483647 = 0x%x\n\n", 2147483647);2122 printf("-2147483647-1u < -2147483647 = %d\n", -2147483647-1u < -2147483647);23 printf(" -2147483647-1u = 0x%x \n", -2147483647-1u);24 printf(" -2147483647 = 0x%x\n\n", -2147483647);25return0;26 }运⾏结果如下-1 < 0u = 0-1 = 0xffffffff0u = 0x02147483547 > (int)2147483648u = 12147483547 = 0x7fffff9b(int)2147483648u = 0x80000000-2147483647-1u < 2147483647 = 0-2147483647-1u = 0x800000002147483647 = 0x7fffffff-2147483647-1u < -2147483647 = 1-2147483647-1u = 0x80000000-2147483647 = 0x800000012.4 浮点数2.4.1 ⼆进制⼩数2.4.2 IEEE浮点表⽰1.表⽰形式:(1)符号(sign)s: 表⽰+-(2)尾数(significand)M:⼆进制⼩数,取值范围为[1,2)或[0,1)(3)阶码(exponent)E:对浮点数加权,权重为2的E次幂2.编码:s编码符号sign s,exp编码阶码exponent E,frac编码尾数significand M3.三种情况(1)规格化的(noemalized): exp!=00...0 && exp!=11 (1)i. 阶码 E = exp - bias, bias = 2^(k-1)-1, k=exp的位数ii. 尾数 M = 1.xx...x = 1.frac的位(隐含的以1开头的表⽰)(2)⾮规格化的(denormalized): exp == 00 0i. 阶码 E = 1 - bias, bias = 2^(k-1)-1, k=exp的位数ii. 尾数 M = 0.xx...x = 0.frac的位iii.注意:0.0有两种表⽰⽅法+0.0和-0.0,符号位分别为0或1,其他位全部为0(3)特殊值: exp == 11 (1)i. ⽆穷:frac = 00...0, s=0或1表⽰+∞或-∞,能够表⽰溢出的运算结果,如x/0 ii. Nan(not a number): frac != 00...0, 表⽰⾮实数的运算结果,如根号-1,∞-∞4.三种情况的数字分布⾮规格化数字的阶码定义为E=1-bias可以补偿⾮规格化的尾数没有隐含的开头1,有助于数字表⽰的平滑转变;否则,在绝对值最⼤的⾮规格化数字(其⼆进制表⽰为0 00...0 11...1)和绝对值最⼩的规格化数字(其⼆进制表⽰为0 00...01 00...0)之间将存在跳跃2.4.3 数字⽰例1. 处理正浮点数时,若按照⽆符号整数解释他们的⼆进制表⽰,则可以发现它们的⼤⼩顺序不变;负浮点数只需要倒序。

02 计算机内信息的数字化表示

02 计算机内信息的数字化表示

示例: 示例:
(1011.1) 2 = 1×23+0×22 + 1×21 + 1 ×20 +1 × 2-1 +0× 1×
= 8 + 0 + 2 + 1 + 0.5 = (11.5)10
编码和数制
八与十六进制之间的转换
整数从右向左 小数从左向右
三位并一位
二进制
一位拆三位 四位并一位
八进制
二进制
一位拆四位
Word) 字(Word) 一条指令或一个数据信息,称为一个字。 字是计算机进行信息交换、处理、存储的 基本单元。计算机一次能处理的二进制数 计算机一次能处理的二进制数 字长 CPU中每个字所包含的二进制代码的位数, 称为字长。字长是衡量计算机性能的一个 重要指标。
四、常见名词
指令 指挥计算机执行某种基本操作的命令称为指 令。一条指令规定一种操作,由一系列有序 指令组成的集合称为程序。 容量 容量是衡量计算机存储能力常用的一个名词, 主要指存储器所能存储信息的字节数。常用 的容量单位有B、KB、MB、GB,它们之间 的关系是:1KB=1024B,1MB=1024KB, 1GB=1024MB。
十六进制
编码和数制
示例: 示例: 100 110 110 111 . 010 100
(4
6
6
7 . 2 4 )8
Hale Waihona Puke 0001 1011 0111.0100 ( 1 B 7 . 4 )16
三、计算机采用二进制的好处
1. 2. 3. 4.
技术上容易实现。 运算规则简单。 可以方便的进行逻辑运算。 与十进制之间关系简单,转换容易 实现。
二、进位计数制

C语言程序设计 第2章 数据类型

C语言程序设计 第2章 数据类型

2.2常量和变量 变量名与变量值的关系:
2.2常量和变量
变量的使用:先定义后使用
变量定义的一般形式:
数据类型 变量名1,变量名2,…,变量名n;
2.2常量和变量
➢ 凡未被事先定义的,系统不把它认作变量名,这就 能保证程序中变量名使用的正确
例:varname,在使用的时候误写成vaname
➢ 在定义变量时要指定变量的类型,在编译时就能为 变量分配相应的存储单元
5
2.2常量和变量
甘草 三七 干姜 葛根
枸杞 人参 陈皮 地黄
山药 当归 谷芽 黄连
贴上标签 加以区分
用标识符给变量起名字
2.2常量和变量 变量命名规则
➢ 只能由字母(a~z,A~Z)、数字(0~9)和下划线(_)构 成
➢ 第一个字符不能为数字 ➢ 不能与关键字同名
例:a9,_a, A_num √ 9a, a*num,int ×
控制语句:控制语句用于控制程序的流程。 C语言提供三类控制语句: ➢ 选择语句 ➢ 循环语句 ➢ 转移语句。 控制语句会在第三章和第四章详细介绍。
2.7 表达式与语句
复合语句: 复合语句由一对大括号括起来的一 条或多条语句组成。 例:{
turnOn(0,3); turnOn(0,4); turnOn(0,5); turnOn(1,4); }
2.7 表达式与语句
表达式语句:表达式末尾加上“;”就构成一条 表达式语句。 例:
s = 3.14 * r * r; 就是一条赋值表达式语句。表达式语句最后的 分号是语句中必不可少的一部分。
2.7 表达式与语句
函数调用语句:函数调用语句由函数调用加分 号构成。 例:
turnOn(1,1);

第二章数据在计算机中的表示综合练习题参考答案

第二章数据在计算机中的表示综合练习题参考答案

第二章数据在计算机中的表示综合练习题参考答案一、1 、计算机中的数有定点表示法和浮点表示法两种表示方法。

2 、原码的编码规则是:最高位代表符号,其余各位是该数的尾数本身。

3 、补码的编码规则是:正数的补码与其原码相同,负数的补码是将二进制位按位取反后在最低位加 1 。

4 、反码的编码规则是:正数的反码与其原码相同,负数的反码是将二进制位按位取反。

5 、一种记数制允许选用基本数字符号的个数称为基数。

6 、整数部分个位位置的序是 0 。

7 、通常把表示信息的数字符号称为数码。

8 、八进制数的基数是 8 。

9 、 7402.45Q 的十六进制数是 F02.94H 。

10 、数在计算机中的二进制表示形式称为二进制数。

11 、在小型或微型计算机中,最普遍采用的字母与字符编码是 ASCII 码。

12 、计算机一般都采用二进制数进行运算、存储和传送,其理由是运算规则简单,可以节省设备。

13 、十进制整数转换成二进制的方法是除 2 取余法,小数转换成二进制的方法是乘 2 取整法。

14 、二进制的运算规则有加法规则、减法规则、乘法规则和除法规则。

15 、目前常见的机器编码有原码、反码和补码。

16 、对 -0 和 +0 有不同表示方法的机器码是原码和码。

17 、 8 位寄存器中存放二进制整数,内容全为 1 ,当它为原码、补码和反码时所对应的十进制真值分别是 -127 、 -1 、 -0 。

18 、在二进制浮点数表示方法中,阶码的位数越多则数的表示范围越大,尾数的位数越多则数的精度越高。

19 、对于定点整数, 8 位原码(含 1 位符号位)可表示的最小整数为 -127 ,最大整数为 127 。

20 、采用 BCD 码, 1 位十进制数要用 4 位二进制数表示, 1 个字节可存放 2 个 BCD 码。

21 、对于定点小数, 8 位补码可表示的最小的数为 -1 ,最大的数为 1-27 。

22 、在原码、补码、反码中,补码的表示范围最大。

第二章 计算机中数据的表示

第二章  计算机中数据的表示

假设数字符号序列为: xx……x……xx.xx……x通常我们在数字符号序列后面加上标注以示声明,如上面的R进制数表示为 (xx……x……xx.xx……x)。x为0和R-1之间的整数;x的下标为数字符号的位序号,它所代表的值为x* R。系数R (R)被称为x所在位置的权。 (3)一个数的实际值为各位上的实际值总和 如: X= xx…x…xx.xx…xV(X)= x*R+x*R+…x*R+…x*R+x* R+x*R+x*R+…x*R即: V(X)=x*R+ x*RV(X)表示X的值,m、n为正整数。
第2章
计算机中数据的表示
第2章
计算机中数据的表示
第2章
计算机中数据的表示
第2章
(2)小数部分
计算机中数据的表示
V(X)=0.xx……x= x*R+x*R+……x*R若将其乘以R,可得 V(X)*R = F*R = x+ x*R+x*R+……x*R = x+F其中,x为大于1的数,所以x为整数, F小数部分。 再将F乘以R,可得 F*R= x+F x为新得到的整数。 依此类推, F*R= x*+F如此循环下去,直到小数部分为0或商的精度达 到我们的要求为止,我们就得到了从x、x一直到x的数字符号序列。也就是说, 我们要把十进制的小数转换为R进制的小数数时,只需将十进制的小数连续地 乘以R,其逐次所得到的整数即为从x到x的R进制小数的数字符号序列。
第2章
计算机中数据的表示
3.二进制及二进制数的运算 . 二进制采用逢二进一的进位规则表示数字,采用0和1两个数字符 号。计算机里就采用二进制表示信息。由于R进制的表示规则我们已 经熟悉,我们这里竟不花费篇幅重复二进制的表示规则。我们针对二 进制的运算进行介绍。 (1)加法规则:“逢2进1” 0+0=0 0+1=1+0=1 1+1=10 【例2-1】 求1010.110+1101.010 解: 1010.110 + 1101.010 ----------11000.000 结果:1010.110+1101.100=11000.000

计算机组成原理第02章 计算机中的信息表示

计算机组成原理第02章 计算机中的信息表示

2.1 数值型数据的表示方法
2.1.2 带符号数的表示 2. 补码表示法 ⑴ 补码定义 ·通式 [X]补=M+X (mod M) 数X对模M 的补 数称作其补码 X>0, 作为正常溢出量可以舍去。 若X>0,则模 M 作为正常溢出量可以舍去。 因而正数的补码就是其本身, 因而正数的补码就是其本身,形式上与原码 相同。 相同。
2.1 数值型数据的表示方法
2.1.3 数的定点表示与浮点表示 2. 浮点表示法 浮点数格式(原理性) ⑴ 浮点数格式(原理性) N =±RE×M 其中: 其中: N :真值 RE :比例因子 E :阶码 R :阶码的底 M :尾数 一般采取规格化的约定 一般采取规格化 规格化的约定
Ef Em

E2 E1 Mf M1 M2
2.1 数值型数据的表示方法
2.1.3 数的定点表示与浮点表示 ⑵ 带符号定点整数 设代码序列为: ……X 设代码序列为:XnXn-1……X1X0 ,Xn为符号位
原码 典型值 真值 最大正数 非零最小正数
2n-1 1
补码 真值
2n-1 1 -2n -1
代码序列
01…… ……11 …… 00…… ……01 ……
第2章 计算机中的信息表示
重点:定点、浮点数的表示; 重点:定点、浮点数的表示;操作码扩展技 术;指令系统的设计 难点:浮点数的IEEE754格式表示, 难点:浮点数的IEEE754格式表示,定点和 IEEE754格式表示 浮点数的表示范围,浮点数的规格化问题, 浮点数的表示范围,浮点数的规格化问题, 操作码扩展技术,指令系统的设计 操作码扩展技术,
2.1 数值型数据的表示方法
2.1.2 带符号数的表示 3. 反码表示法 若定点小数的反码序列为X ·若定点小数的反码序列为X0.X1X2……Xn,则 X X 1>X≥0 [X]反= 0>X≥2-2-n+X 0>X≥-1 若定点整数的反码序列为X ·若定点整数的反码序列为XnXn-1……X1X0,则 X X 2n>X≥0 [X]反= 0>X≥2n+1-1+X 0>X≥-2n

第2章 计算机中数据信息的表示和运算-浮点表示

第2章 计算机中数据信息的表示和运算-浮点表示

练习: 将X=-19/64表示成浮点规格化数(阶码3位,阶 符1位,尾数7位,尾符1位),阶码采用原码,尾数 用规格化,用补码的形式表示。 定点数:[X]补=1.1011010; X=-19/64=(-10011*2-110)2=-0.010011=2-01*-0.10011 E=-01,E 原=1001; M=-0.1001100,M补=1.0110100 浮点数: 1,001; 1.0110100

例:

32位浮点二进制数,8位为补码表示的阶 码,24位(含1位符号位)为补码表示的规格 化尾数,试指出它所表示的最大正数与最小正 数数据格式。 最大正数:0111 1111 0.111…11 最小正数:1000 0000 0.100…00


3 机器数的移(增)码表示法
定义:设定点整数移码序列Xn Xn-1„„ X0,则, [X]移 = 2n + X 2n>X≥-2n 即无论X是正还是负,一律加上2n,称2n为基数 移码就是在真值X上加一个常数(偏置值),相当于X在数 轴上向正方向平移了一段距离,这就是“移码”一词的 来由。 [X]移=偏置值+X 传统上,对于字长8位的定点整数,偏置值为27。 在IEEE754中,偏置值为(27-1)
•S:浮点数的符号位,0表示正数,1表示负 数 •M:尾数,用原码定点小数表示,小数点放 在尾数域的最前面,且小数点前面隐含一位 1 •E:阶码,用移码来表示,偏置常数为127 (单精度)或1023(双精度)
4 IEEE 754浮点数标准
•真值为: •(-1)s*1.M*2E-127
•或 (-1)s*1.M*2E-1023。
例1:若浮点数X的754标准存储格式(41360000)16 ,求其 浮点数的十进制数值。 解:将16进制数展开后,可得到二进制格式: 0 100 0001 0011 0110 0000 0000 0000 0000 e=E-127=100 0001 0-01111111=00000011=3 包括一位隐含位的尾数 1.M=1. 011 0110 0000 0000 0000 0000 = 1.011011 于是:

计算机组成原理教案(第二章)

计算机组成原理教案(第二章)

最小负数值=-(215-1)10=(-32767)10
1
111 111 111 111 111
例6]假设由S,E,M三个域组成的一个32位二进制字所表示的非零规格 化浮点数x,真值表示为: x=(-1)s×(1.M)×2E-128 问:它所表示的规格化的最大正数、最小正数、最大负数、最小负 数是多少? 1)最大正数 0 11 111 111 111 111 111 111 111 111 111 11
2.1.1 数据格式
计算机中常用的数据表示格式有两种
一是定点格式,数值范围有限,要求但的处理硬件比较简单。
二是浮点格式,数值范围很大,但要求硬件比较复杂。
1.定点数的表示方法
定点表示:约定机器中所有数据的小数点位置是固定不变的
(x0:符号位,0代表正号,1代表负号):
纯小数和纯整数
目前计算机中多采用定点纯整数表示,因此将定点数表示的运算 简称为整数运算。
00000001 0000000011
(2).压缩的十进制数串形式
每个数位占用半个字节(即4个二进制位),其值可用二-十编码 (BCD码)或数字符的ASCII码的低4位表示。 符号位也占半个字节并放在最低数字位之后,其值选用四位编 码中的六种冗余状态中的有关值,
1 2 3 C
(+123) 0 1 2 D
2.浮点数的表示方法
浮点表示法:把一个数的有效数字和数的范围在计算机的一个 存储单元中分别予以表示,这种把数的范围和精度分别表示的 方法,数的小数点位置随比例因子的不同而在一定范围内自 由浮动。 9 × 10-28=0.9 × 10-27
N=Re.M M :尾数,是一个纯小数。
e :比例因子的指数,称为浮点数的指数,是一个整数。 R :比例因子的基数,对于二进计数值的机器是一个常数 ,一般规定R 为2,8或16。

计算机组成原理参考答案讲解

计算机组成原理参考答案讲解

红色标记为找到了的参考答案,问答题比较全,绿色标记为个人做的,仅供参考!第一章计算机系统概述1. 目前的计算机中,代码形式是______。

A.指令以二进制形式存放,数据以十进制形式存放B.指令以十进制形式存放,数据以二进制形式存放C.指令和数据都以二进制形式存放D.指令和数据都以十进制形式存放2. 完整的计算机系统应包括______。

A. 运算器、存储器、控制器B. 外部设备和主机C. 主机和实用程序D. 配套的硬件设备和软件系统3. 目前我们所说的个人台式商用机属于______。

A.巨型机B.中型机C.小型机D.微型机4. Intel80486是32位微处理器,Pentium是______位微处理器。

A.16B.32C.48D.645. 下列______属于应用软件。

A. 操作系统B. 编译系统C. 连接程序D.文本处理6. 目前的计算机,从原理上讲______。

A.指令以二进制形式存放,数据以十进制形式存放B.指令以十进制形式存放,数据以二进制形式存放C.指令和数据都以二进制形式存放D.指令和数据都以十进制形式存放7. 计算机问世至今,新型机器不断推陈出新,不管怎样更新,依然保有“存储程序”的概念,最早提出这种概念的是______。

A.巴贝奇B.冯. 诺依曼C.帕斯卡D.贝尔8.通常划分计算机发展时代是以()为标准A.所用的电子器件B.运算速度C.计算机结构D.所有语言9.到目前为止,计算机中所有的信息任以二进制方式表示的理由是()A.节约原件B.运算速度快C.由物理器件的性能决定D.信息处理方便10.冯.诺依曼计算机中指令和数据均以二进制形式存放在存储器中,CPU区分它们的依据是()A.指令操作码的译码结果B.指令和数据的寻址方式C.指令周期的不同阶段D.指令和数据所在的存储单元11.计算机系统层次结构通常分为微程序机器层、机器语言层、操作系统层、汇编语言机器层和高级语言机器层。

层次之间的依存关系为()A.上下层都无关B.上一层实现对下一层的功能扩展,而下一层与上一层无关C.上一层实现对下一层的功能扩展,而下一层是实现上一层的基础D.上一层与下一层无关,而下一层是实现上一层的基础12.指令流通常是()A.从主存流向控制器B.从控制器流向主存C.从控制器流向控制器D.从主存流向主存13.以下叙述中正确的是()A.寄存器的设置对汇编语言程序是透明的B.实际应用程序的预测结果能够全面代表计算机的性能C.系列机的基本特征是指令系统向后兼容D.软件和硬件在逻辑功能上是等价的14.存储A.__程序____并按B.__地址____顺序执行,这是冯•诺依曼型计算机的工作原理。

1-2、计算机中信息的表示及其运算

1-2、计算机中信息的表示及其运算
和数值位隔开
(3) 求补码的快捷方式
设 x = 1010 时
则[x]补 = 24+1 1010 = 100000 1010 = 1,0110
又[x]原 = 1,1010
= 11111 + 1 1010 = 11111 + 1 1010 10101 + 1 = 1,0110
当真值为 负 时,补码 可用 原码除符号位外 每位取反,末位加 1 求得
[x]补 = 27+1 +( 1011000 ) = 100000000 1011000 1,0101000
小数
x [x]补 =
x 为真值 如 x = + 0.1110 [x]补 = 0.1110 x = 0.1100000
1>x ≥0 0 > x ≥ 1(mod 2)
2+x
[x]补 = 2+( 0.1100000 ) = 10.0000000 0.1100000 1.0100000 用 小数点 将符号位
真值
[x]补
[x]原
0,1000110 1,1000110 0.1110 1.1110 0.0000 1.0000
不能表示
x = + 70 = 1000110 0, 1000110 x = –70 = – 1000110 1, 0111010 x = 0.1110 0.1110 x = 0.1110 1.0010 x = 0.0000 [+ 0]补 = [ 0]补 0.0000 x = 0.0000 0.0000 x = 1.0000 1.0000 由小数补码定义
1.
不带符号的整数
数的表示范围: 4位: 0000B ~ 1111B, 0H ~ FH,0D ~ 15D; 8位: 00000000B ~ 11111111B, 00H ~ FFH, 0D ~ 255D; 16位: 0000H ~ FFFFH, 0D ~ 65535D; n位数:0D ~ (2n-1)D

计算机组成原理-2

计算机组成原理-2

每位取反,末位加 1 [y]补连同符号位在内,
y = (0. y1 y2 … yn + 2-n) 即得[ --y]补 y = 0. y1 y2 … yn + 2-n
14:00:32
[ y]补 = 0. y1 y2 … yn + 2-n
返回首页
2. 1. 1 定点数的表示—反码
3 反码
– 原码求补码或由补码求原码的中间过渡。 – 对亍正数,反码不原码和补码相同
5 -2 3
顺时针
可见 2 可用 + 10 代替
减法
14:00:32
5 + 10 15 - 12 3
时钟以 12为模
加法
返回首页
2. 1. 1 定点数的表示—补码
称 + 10 是 – 2 以 12 为模的补数
记作 类似 结论: 1. 两个互为补数的数,它们绝对值之和即为 模 数。 2. 一个负数加上 “模” 即得该负数的补数。 3. 正数的补数即为其本身。

x = +1010
[x]补 = 0,1010
用 逗号 将符号位 和数值位隔开
14:00:32
= 100000000 1011000 1,0101000
返回首页
2. 1. 1 定点数的表示—补码
x 小数

1>x ≥0 0>x ≥ 1(mod 2)
[x]补 =
2+x
x = + 0.1110 [x]补 = 0.1110
14:00:32
零(0)的原码表示有两个:正零和负零
返回首页
2. 1. 1 定点数的表示--原码
原码形式的n位定点整数的表示范围是: (2n–1–1) ~+(2n–1–1) 例如,8位定点整数的表示范围是: (27–1) ~ +(27–1),即:–127~+127; 16位定点整数的表示范围是: –(215–1) ~ +(215–1),即:–32767~+32767 原码表示的n位定点小数的表示范围是: – (1–2–(n–1) ) ~ + (1–2–(n–1) ) 。

计算机组成原理 [袁春风]chap2

计算机组成原理 [袁春风]chap2

第2章数据的表示南京大学计算机系多媒体技术研究所袁春风数字化信息编码数字系统定浮点表示非数值数据的编码表示逻辑数据多媒体信息二进制信息的计量单位对所下的定义是数据是对事实概念或指令的一种特殊表达形式这种特殊的表达形式可以用人工的方式或者用自动化的装置进行通信翻译转换或者进行加工处理在计算机内部数字文字图画声音活动特殊的表达形式就是二进制编码形式故在计算机系统中所指的数据均是以二进制编码形式出现的数值型数据非数值型数据指数字类数据它可用来表示数量的多少可以比较其大小非数值型数据包括字符型数据表示视频等的多媒体数据以及逻辑数据是对人有用的数据这些数据将可能影响到人们的行为与决策客观存在的事实概念或指令的一种可供加工特殊表达形式而信息却强调对人有用信息处理实质上就是由计算机进行数据处理的过程也即是通过数据的采集和输入有效地把数据组织到计算机中由计算机系统对数据进行相应的处理加工如存储建库转换合并分类计算统计汇总传送等操作最后向人们提供有用的信息这个全过程就是信息处理一般情况下不严格区分数据和信息媒体媒介媒质指承载信息的载体感觉媒体使人类听觉视觉嗅觉味觉和触觉器官直接产生感觉的一类媒体如声音文字图画气味等表示媒体为了使计算机能有效加工处理传输感觉媒体而在计算机内部采用的特殊表示形式即声文图活动图像的二进制编码表示存储媒体用于存放表示媒体以便计算机随时加工处理的物理实体如磁盘光盘半导体存储器等表现媒体用于把感觉媒体转换成表示媒体表示媒体转换为感觉媒体的物理设备前者是计算机的输入设备如盘扫描仪话筒等后者是计算机的输出设备如显示器打机音箱等传输媒体用来将表示媒体机的通信载体如同轴电缆光纤电话线等是编码单的号对大量的组合基本符和要素例如用10个阿拉伯数字表示数值电报进制数字表示汉字等等都例子计算机内部处理的所有信息都是了的数据是一种表示媒体信息就是对感觉媒体信息进行定时采信息转换为计算机中的离散信息然信息进行二进制编码计算机内部采用二进制编码为什么计算机内部的数据若定的值即在数到其对应的点则称其为数值数据定数值数据的值的进位计数制定浮点表示和数的编码表示数值数据的表示方大类直接用二进制数表示简码一般地任意进制数其值应为! " 可以是! " # $ % & ' ( )个数字符号一个 ! 数它数字符的个数 ! 称为位上的权算时每位计位进一逢十2只号01算时采用如二进制数表的实际值是(+ 0x21+ 一般地一个二进制数B=bbn其值应为的数字说在个数字系统中若号0 12R-1表示位上的数字则R数制或称R进制数字系统R数字系统的基采 逢算规则对于i其位上的i在计算机系统中常种基本除基取余上乘基取整上除基取余上乘基取整上除基取余上乘基取整上的小数部分总0 此值(13.724) (2B.5E) (0. (11进制阅读太长书写阅读均不方便八进制数却像进制数一样简练易写易记易读虽然使用二进制一种计数制但序调序阅读码时的方便人们经常进制或二进制什么问题在机器内部的表示问题1定点表示约定小数点的位置定在最左右边纯小数形式小数点左边即:0.xx x对于存放在一个存器中的定点小数X其表示范围为-n|X|1-2-n数形式小数点右边即:xx对于存放在一个位寄X其表示范围为0|X|21在计算机内部只能表示一定范围限数小于能表示的最小数则计算机把它当0处理大于能表示的最大数则发 溢小用定点数来进行运出大计算机的表数范围一般采用浮点表示法2浮点表示为采用浮点表示小用浮点表示可定点小数2-n|X|1数0|X|2一个数 都可以表示成阶码定点整数位数决定其表数范围数定点小数位数精度致范围基数隐含约定一般取绝对值最小的数是如下形式的数0.0...01xR-11 (1)绝对值最大的数的形式应为0.11...1xR11 (1)虽然扩范围但并没有增加数值的个数位编码个数什么问题在机器内部的表示问题一个浮点数可用一个定点整数和一个定点小数来表示因此只需要考虑定点数的编码表示有来表示负号样符样其1这种处理称为数字化一般定正号1表负号数值数据在计算机内部编码表示的数称为机器数而的值即原的数称为设值为= X X 1X 当数时= 0 . X X n当为定点小数时数字化编码后的机器数表示为X = Xn研究数值数据的编码问题就是解决机器数Xi问题是数的符位一般定数时X0X=Xi =Xi-n数时X1通的编码表示原码补码反码时对于不的编码方式X的取值有不的规定规则符值的数值故也称定点数[X n + |X-2T0n码数值部分的位数小数[XT +|XT| -T种表示形式[+0]=0 001 00特点与系直观方便故与用算比较便但规则复杂算要判是两数相减若是则必须判对值大小并断结果决定结果符号2补规则符码故也称符法1模运机器数的位数有限n的数所以算过程中可能的数即出现用n 无法表示的情况此时计算机一般位舍弃高位样会种结果剩下的位数不能正确结果也即是运的一部分这种情况下意着运出了计算机能表达的范围我此时现象表达计算结果也即并不影响其结果结果呢一种处理n然丢去商保留的操作这模运 算中若A B M系A=B+K*M K 数则记为A B mod M即A B以M数相同故称B和A为模同余也就是说在一个模运系统中一个数与它除以模到的余数是等的问题举例 系统其2定钟 点要向点则拨法倒拨格1格186mod 12所以在系统中10-4 10+8(mod即-4 12) 8是-4对的补码同样有-3 9mod 2-5 7mod 2等等述例子与同余的概念可得出如下的结论定的模某数减去小于模一数总可以用另一数绝对值之差代替 这实际上就是为原因补算这来后就可以不用象符号对值大小等了例10-4=0+8=6 mod 22 算系统相当的算盘9828-928=9828+(=9828+8072==7900mod 42补根据系可法一个该之差即某负码为[X| (mod M)n其中符位数值部分位码表示的定义如下数[XT ]补=2| -2XT0mod 2n小数[X]| -1XT0mod 2的表示是一的0=0 0定义0 (n-n)看数和小数内对于整码有[-码有[-上码中的 表示的只其所在位置所以实际上码小数表示与结果同都是符1数值部分为0 -2分别补码小数和码整的最小负数6求负码表示解[-0.0110=10负数的求法求前述例子单方法求 符号1其取反后末尾加1所得值的简便方法 若符1则真负其数值部分的位由补各位后末尾所得补码法取反末尾即可 最小负出即最小后的码表示不存在知X0求解[X+2-7T知[X0求T 解X= -110T知[X0求解[-X=03变#这种4因此码#目的便于结果是出#采用双位表示位右定义变形1其中符位数值部分位则变码表示的定义如下0mod 21定点数[X1-|X|-2XT0mod 4定点小数[X|X| -1XT知X 11假位求变补解[X T ]变补11= 01知X 位T ]变补解[X =4-0.3反负数的码表示符1数值部分求反也即在相应的补基础减1定义码的位数为n其中符位数值部分位码表示的定义如下=(2数[XT反0mod 2n-1T小数[X0mod 2-2T零有种01注1从出反补码若是二进制数即R=2那么当为n位定点数编码(即m=0)时模为21为m位定点小数编码(即n=)时模(2-2 ) ) 2反下进行的所以) 0 (mod R即R)这意着若运即最)就须把它加到去这循环进位举例用45= :9828.928..45)=7900 mod4编码的总1机器数与0其数值部分值的数值部分1数值位的表示码同真值的数值位码真取反末1码真取反由编码值则反的过程只要位 1 转换成 负号即可2零法零3加补码和待可以和数值位一算原码和代处理4表数原码和是对称的假位数为n即编码位时原码的表数都是整数21小数1-n的表示范围不对称负数表示的范围正数宽能多表示一个最小负数-2n或5移"对于的定点数应采用算术位方式也即对数值部分位而符号位不动"在计算机内部移位器中进行移定所以移变一位意味倍即移位后的/2右出高相应的位数移出时可能使有效数字失所以要考虑入方式一位意味着原倍即倍左出低相应的位数后数值若干倍因此会发出如下左移高出末0移时发出右移高0低出移舍入操作码左移高出末0移出非符时发出右移高符低出移舍入操作码左移高出末符移出非符时发出右移高符低出移出时进行舍入操作6填充在计算机内部有时个数此要进行处理对于定点小数在位进行数在符位后的数值位进行定点小数在0定点数符变在数的符号0定点小数在0定点数符变在数的符号所的位数用来表示数值时该数一般在全部是合下可以位使用数表示例算符了一位符号位所以在字长的情况下数码补码等不分它的编码形式就是一般的二进制形式数的小数点在数的最后时则该数例如最大的11111111B其值为255一个时则该号小数例如最大的小数形式也是B 其值为1-2-8入浮点数的表示数或纯小数并小定点数表示的位编码其中一位符位小数而般的实数此外其表数比定点数多码表示数也可以是数当时必须阶比较并使相等为化比较操作使涉符可对加上一个正数称为置数使所有阶都数这就是移码表示移码的定义设 阶所移码位数为 则为偏则, .格化数的位数表示数的有效数位有效数位多数据高为了在浮点数运算过程中尽保留效数字的位数使有效数字占满尾数数位必须经常格化操作数字即则则 格式补码表示数则规为尾位和最高位码种数则当结果的形式时需移阶减1直到止这个过程称为 左规数则当结果的形式时并不一定出应位1然判断阶出这个过程称为右组成数符阶码尾浮点数格式如下位数符位 偏 $ % " 位$码小数表示的进制数此种浮点数形式解因 $ 所以即位数符位 码偏位 码规格化一位总是 故存即有 位但位数据码是对称的故对称即解因浮点数形式表示为111 000单形式48838880H当运码过小时的而浮点数分的越远稀疏浮点数的情况下其多则尾少即表数大则精度差数变稀疏数的大小对范围的影响大则范围大但精度变低数变稀疏格式格式格式范围精度扩展为码表示偏为 因 则码为 而全 用来表示一些特殊值故不能表示到 最大能是 这小了若 则 ! 故最大 表数范围增大码表示规为的格式。

《计算机组成原理》课程教学(自学)基本要求

《计算机组成原理》课程教学(自学)基本要求
2
主要内容
上交作业


主要内容
二、教学基本要求 掌握 外部设备的组成、功能及分类 了解
6
中国石油大学(华东)现代远程教育课程教学(自学)基本要求
输出设备的工作原理 显示设备的工作原理 备 注 第十章输入/输出系统 一、核心知识点 1、接口的基本组成及功能 2、中断的概念、分类、一般过程 3、多级中断 4、主机与外设交换信息的方式 二、教学基本要求 重点掌握 接口的基本组成及功能 中断的概念、分类、一般过程 多级中断与中断屏蔽 主机与外设交换信息的方式(中断、DMA、通道) 掌握 主机与外设的连接方式 了解 输入/输出处理机※ 三、思考与练习 P314 习题 1、 程序查询方式、程序中断方式、DMA 方式各自适用什么范围?下面这些结论正确 吗?为什么? (1) 程序中断方式提高 CPU 利用率,所以设置了中断方式后就没有再应用程序查 询方式的必要了。 (2)DMA 方式能处理高速外部设备与主存间的数据传送, 高速工作性能往往能覆盖 低速工作要求,所以 DMA 方式可以完全取代程序中断方式。 2、什么是 DMA 传送方式?试比较常用的三种 DMA 传送方法的优缺点。 带※号的章节专科层次不做要求 编者:郑秋梅
课程简介
学习建议
各章节主要学习内容及要求 第一章 概论 一、核心知识点 、核心知识点 1、计算机的基本组成、功能和简单工作过程 2、存储程序原理 3、计算机的主要技术指标 二、教学基本要求 重点掌握 计算机系统的硬件组成 存储程序原理 计算机系统的层次结构 计算机的主要技术指标 掌握 计算机的总线结构 计算机的简单工作过程 了解 计算机的发展、分类和应用 三、思考与练习 P12 习题 上交作业 备 注 1、 冯.诺依曼计算机的特点是什么?其中最主要的一点是什么? 2、 计算机的硬件是由哪些部件组成的?它们各有哪些功能? 3、衡量计算机性能的主要技术指标有哪些?

第2章 计算机中数据信息表示法_1

第2章 计算机中数据信息表示法_1

28
§2.2 机器数的编码表示
例2:写出机器字长8位,反码表示时所对应的 十进制整数和小数的表示范围。
反码表示:同原码表示(一一对应)
整数范围:-127≤x ≤ +127
小数范围:-(1-2-7 ) ≤ x ≤ 1 -2-7
29
1.三种机器数的比较 1)对于正数它们都等于真值本身,但对于负数各有不同 的表示。 2)最高位都表示符号位,补码的符号位可作为数值位的 特殊部分同数值位—起参加运算;而原码和反码的符号位不 允许和数值位同等看待,必须分开进行处理。 3)对于值0,原码和反码各有正负2种不同的表示形式, 只有补码有惟一的表示形式。 4)原码、反码表示的正、负数范围是对称的,而补码表 示的范围要宽,能多表示一个最负的数(绝对值最大的负 数)。
30
§2.2 机器数的编码表示
原、反、补码表示举例: 求下列各数的原、反、补码(设机器字长5位)
大 x=+1101
[x]原=0,1101 [x]反=0,1101 [x]补=0,1101
X=+0.1001 [x]原=0.1001 [x]反=0.1001 [x]补=0.1001 X=-0.0101 [x]原=1.0101 [x]反=1.1010 [x]补=1.1011
真值 原 码 反 码 补码 移码
+0
-0
00000000 00000000 00000000 10000000
10000000 11111111 00000000 10000000
+(27-1) 01111111 01111111 01111111 11111111
-1 10000001 11111110 11111111 01111111

C语言知识点:第2章 数据类型、运算符与表达式

C语言知识点:第2章 数据类型、运算符与表达式
C 语言程序设计知识点
主讲教师:杨剑
第 2 章:数据类型、运算符与表达式
1. 本章目标:
理解变量和常量的含义 熟悉基本数据类型 - int、char、float 和 double 使用算术运算符 理解类型转换 使用关系和逻辑运算符
2. 内存如何存放数据
电脑使用内存来记忆计算时所使用的数据 内存如何存储数据? 内存像旅馆.数据各式各样,要先根据数据的需求(即类型)为它申请一块合适的空
23. 复合赋值表达式
24. 赋值表达式和逗号运算符
赋值表达式 a=b=c=5;(从右向左计算) a +=a-=a*a
逗号运算符和逗号表达式 3+5,6+8 a=3*5,a*4
25. 习题
~7~
C 语言程序设计知识点
主讲教师:杨剑
有以下程序
main()
{
char a1=’M’,a2=’m’;
12. 单精度浮点型
float 在 C 语言中用于存储单精度浮点数 float 32 位 10-38 至 10+38 ,7 位有效数字 声明:
float price; 初始化:
float score = 11.3; score = 65.90;
13. 双精度浮点型
double 32 位 16 位有效数字 声明:
const float PI=3.14; S=PI*r*r; //等价于 3.14*r*r const 关键字的作用就是“冻结”一个量,它的值不能被修改,是一个只读(read only) 量。 优点:比数值常量可读性好、修改容易
18. 符号常量 2(宏常量)
还可用宏定义符号常量 语法:#define 符号名 常量值 例: 计算圆的周长时
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


EX=+7=(+00111)2,MX=-0. 111101101 [EX]补=000111, [ MX ]补=1. 000010011 则:[X]浮= 1 000111 000010011 (2)Y=(34/128 ) 10 =(0.010001)2 =0. 10001×2-1 EY=-00001,MY=0. 100010000 [EY]补=111111, [ MY ]补=0. 100010000 则:[Y]浮= 0 111111 100010000
课堂练习


1、已知[X]补=1.1010,求X= ? 1.0110 [X]原= ? [X]反= ? 1.1001 [X]移= ? 0.1010 2、求以下各机器数的十进制真值:
-0.0110
[X]原 = 1,0000000 ,则X = ? [X]补 = 1,0000000 ,则X = ? [X]反 = 1,0000000 ,则X = ? [X]移 = 1,0000000 ,则X = ? [X]原 = 1,1101 ,则X = ? [X]补 = 1,1101 ,则X = ? [X]反 = 1,1101 ,则X = ? [X]移 = 1,1101 ,则X = ? [X]原 = 0,1000 ,则X = ? [X]补 = 1,1000 ,则X = ? [X]反 = 0,1000 ,则X = ? [X]移 =0,1000 ,则X = ?

X= (-1)s*1.M*2E-127 =+(1.011011)* 23 =+1011.011
=11.375
例2:将数(20.59375)10转换成754标准的32位浮点数二进 制存储格式。 解: 首先转换为二进制数 20.59375=10100.10011 移动小数点,使其在1,2位之间 10100.10011=1.010010011 * 24 , e=4 于是:S=0, E=4+127=131,M=010010011 于是得到32位浮点数的二进制存储格式为: 0 100 0001 1010 0100 1100 0000 0000 0000 =(41A4C000)16


数值范围:一种数据类型所能表示的最大值和最 小值 数据精度:实数所能表示的有效数字位数。
2、浮点机器数的规格化表示
规格化方法:调整阶码使尾数满足下列关系:

尾数为原码表示时,无论正பைடு நூலகம்应满足1/2<|M |<1
即:小数点后的第一位数一定要为1。
正数的尾数应为0.1x….x
负数的尾数应为1.1x….x 尾数用补码表示时,小数最高位应与数符符号位相反。 正数应满足 1/2≦M<1,即 0.1x….x 负数应满足 -1/2 > M≥ -1,即 1.0x….x(M=-1/2除外)
定点数的表示范围

一个字长为32位的定点整数机器,最高位为符 号位,机器中的数采用补码表示形式,则该机 器所能表示的数的范围如下:
-231
0
231-1
数轴
浮点数的表示范围

32位字长的机器中,数采用浮点表示,符号位占1位, 尾数位占23位,阶符占1位,阶码占7位。阶码用移 码表示,尾数用原码表示,采用规格化浮点数表示形 式,则其表数范围:
5 机器零

定义:当一个浮点数的尾数为0,不论阶码为何 值,或者当阶码的值比能表示的最小值还小时, 不论尾数为何值,都把浮点数看作零。
例:阶码,尾数都用补码表示时: 1000000000000000000000000000000 当采用移码表示时: 0000000000000000000000000000000 与定点数判别“0”一致。
求: [X/2]补,[X/4]补 ,[Y/2]补,[Y/4]补
[X]补 =0.1011
[Y]补=1.1011
[Y/2]补=1.11011
[X/2]补=0.01011
[X/4]补=0.001011
[Y/4]补=1.111011
四、浮点机器数的表示方法
十进制数的科学表示法(scientific notation) 例如: 156,000,000=1.56*108 -0.000,000,28=-0.28*10-6
二进制的科学记数表示法,即:小数点的 位置根据需要而浮动,这就是浮点数。
1、浮点机器数的格式
1 、浮点数的一般形式
阶符Ef 阶码E1..m 尾符Mf 尾数M1..n N=+/-RE x M 其中,N:要表示的浮点数的真值; R(Radix):基数为2的整数次幂,常取2; M(Mantissa):尾数,一般为定点小数; E(Exponent):阶码,一般为定点整数。 Mf :表示浮点数的正负
X=-0 X =(- 128)10 X = (-127)10 X=0 X = - 1101B X = - 0011B X = - 0010 B X = +1101B X = +1000 B X = - 1000 B X = +1000B X = -1000 B
例:已知:X=0.1011 Y=-0.0101
例1:若浮点数X的754标准存储格式(41360000)16 ,求其 浮点数的十进制数值。 解:将16进制数展开后,可得到二进制格式: 0 100 0001 0011 0110 0000 0000 0000 0000 e=E-127=100 0001 0-01111111=00000011=3 包括一位隐含位的尾数 1.M=1. 011 0110 0000 0000 0000 0000 = 1.011011 于是:
1、浮点机器数的格式
可见,一个浮点数在机器中是用两个定点数来
表示的。 例:[ N ]补=1101;1.110101
N=-2(-0011)*0.001011 即:N=-0.000001011
2、浮点机器数的规格化表示

浮点数可以表示成多种形式:
0.11 026 => 1.10 25 => 0.000110 29 ……

例:

32位浮点二进制数,8位为补码表示的阶 码,24位(含1位符号位)为补码表示的规格 化尾数,试指出它所表示的最大正数与最小正 数数据格式。 最大正数:0111 1111 0.111…11 最小正数:1000 0000 0.100…00


3 机器数的移(增)码表示法
定义:设定点整数移码序列Xn Xn-1„„ X0,则, [X]移 = 2n + X 2n>X≥-2n 即无论X是正还是负,一律加上2n,称2n为基数 移码就是在真值X上加一个常数(偏置值),相当于X在数 轴上向正方向平移了一段距离,这就是“移码”一词的 来由。 [X]移=偏置值+X 传统上,对于字长8位的定点整数,偏置值为27。 在IEEE754中,偏置值为(27-1)
IEEE 754格式参数
参数 字宽(位数) 指数宽(位数) 指数偏移 最大指数 最小指数 数的范围 有效尾数 指数数目 分数数目 值的数目 单精度 32 8 127 127 -126 10-38,10+38 23 254 223 1.98*231 双精度 64 11 1023 1023 -1022 10-308,10+308 52 2046 252 1.99*263
(用16进制表示此结果则为:9B4H)


练习:一浮点数的阶码为6位(包括一位 阶符),尾数为10位(包括一位数符), 阶码与尾数均采用补码表示,阶码的底 为2。写出X与Y的规格化浮点数。 (1)X=-123.25 (2)Y=34/128 (1)X=(-123.25)10 =(-1111011.01)2 =-0. 111101101×2+7
根据IEEE 754 国际标准,常用的浮点数格式有3种,阶码的底隐含 为2。 短实数又称为单精度浮点数,长实数又称为双精度浮点数,临时实 数主要用于进行浮点数运算时保存临时的计算结果。
数据类型 短实数 长实数
总位数 32 64
尾数位数 24 53
阶码位数 8 11
临时实数
80
65
15
4 IEEE 754浮点数标准

为了简化浮点数的操作,需要对其进行规 格化,规格化后的浮点数具有下列形式:
±0.1bbb…bb*R±E
2、浮点机器数的规格化表示
若上述浮点数N的尾数M在如下范围内1/R ≤ |M| < 1(1/2 ≤|M| < 1) 则N叫做规格化的浮点数,一般机 器中以此形式存储、运算。 在字长一定的情况下,规格化的浮点数精度最 高。
3 机器数的移(增)码表示法
例1:X=1011101 [X]移=27+X=10000000+1011101=11011101 [X]补=01011101 例2:X=-1011101 [X]移= 27 +X=10000000-1011101=00100011 [X]补=10100011
4 IEEE 754浮点数标准
练习: 将X=-19/64表示成浮点规格化数(阶码3位,阶 符1位,尾数7位,尾符1位),阶码采用原码,尾数 用规格化,用补码的形式表示。 定点数:[X]补=1.1011010; X=-19/64=(-10011*2-110)2=-0.010011=2-01*-0.10011 E=-01,E 原=1001; M=-0.1001100,M补=1.0110100 浮点数: 1,001; 1.0110100

开发该标准是为了程序从一个处理器移植到另一个处理器。 IEEE标准定义了32位的单精度和64位的双精度两种格式。它们的 指数段分别为8位和11位,隐含的基值是2。
0 1 89 阶码 尾数 (23) 11 12 11位阶码 52位尾数 63 31
数符号位
01
4 IEEE 754浮点数标准
相关文档
最新文档