第二章 运算方法和运算器01数据表示

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Interchange)
ASCII 码
(American Standard Code for Information
湖南中医药大学 计算机系
2.1.4 汉字的表示方法
1. 汉字的输入编码 数字编码 拼音码 字形编码 2.汉字内码 3.汉字字模码
湖南中医药大学 计算机系
◦ 一幅图像是由像素阵列构成的。每个像素 点的颜色值用二进制代码表示:
编码和数制
常用计数制的基数和数字符号
十进制 二进制 八进制 基数 数字符号 10 0~9 2 0,1 8 0~7 十六进制 16 0~9,A,B,C,D,E,F
湖南中医药大学 计算机系
数制间的转换
十进制数 十进制数
编码和数制
非十进制数 非十进制数
二、八、十六进制之间的转换
湖南中来自百度文库药大学 计算机系
a1×x1 + a0×x0 + a-1×x-1 + ...
示例:
(1011.1) 2 = 1×23+0×22 + 1×21 + 1 ×20 +1 ×
2-1 = 8 + 0 + 2 + 1 + 0.5 = (11.5)10
湖南中医药大学 计算机系
编码和数制
二、八与十六进制之间的转换
整数从右向左 小数从左向右
十进制整数
非十进制整数
余数法:除基数取余数、由下而上排列。 示例1:
8 8 8 75 9 1 0 3 1 1
结果为:113
十进制整数
非十进制整数
1 1 0 1 0 0 1
示例2: 2 75
2 37 2 18 2 9 2 4 2 2 2 1 0
结果为:1001011
十进制小数
非十进制小数
进位法:用十进制小数乘基数,当积为0或达到 示例:(0.625)B

)2=( )16=( )8 )2=( )10
12.125=( 1100.001 )2=(C.2)16=(14.1)8
(20.A1)16=( 1000000. 1010 0001 )2 =32+0.625+0.00390625 =( 32.62890625 )10
湖南中医药大学 计算机系
2.1 数据与文字的表示方法
湖南中医药大学 计算机系
2.1.2 数的机器码表示
1.原码表示法 (运算复杂)
定点小数:
符号位
0 1
0 0
0 0
0
0
隐含小数位(+0.5)
定点整数: 1
符号位
0
0 0
0 0
1
1
隐含小数位(-3)
湖南中医药大学 计算机系
2.1.2 数的机器码表示
1.原码表示法
+77
0 1 0 0 1 1 0 1
湖南中医药大学 计算机系
第二章 运算方法和运算器
湖南中医药大学 计算机系
引言

C语言程序举例
这是肿么了?
#include<stdio.h> main() { int a=200,b=300,c=400,d=500; printf("200*300*400*500=%d\n",a*b*c*d); }

湖南中医药大学 计算机系
十进制-阿拉伯数字
湖南中医药大学 计算机系
十进制-二进制
湖南中医药大学 计算机系
二进制-十六进制-八进制
湖南中医药大学 计算机系
2.1 数据与文字的表示方法
数 制
定义:

按进位的原则进行计数 逢N进1 采用位权表示法
湖南中医药大学 计算机系
常用进位计数制表示方法
0 1 2 127
128 129
+0 +1 +2 +127 -0 -1
+0 +1 +2 +127 -128 -127
+0 +1 +2 +127 -127 -126
253 254 255
… …
-125 -126 -127
… …
-3 -2 -1
… …
-2 -1 -0
… …
湖南中医药大学 计算机系
2.1 数据与文字的表示方法
二进制的1位可以表示黑白二种颜色 2位可以表示4种颜色 24位表示真色彩(即224≈1600万种颜色)
图形、图像、声音编码
◦ 图像和声音编码的压缩编码的国际标准有 JPEG、MPEG、CCITT H.261等。
湖南中医药大学 计算机系
2.1.5 校验码

奇校验 偶校验
湖南中医药大学 计算机系

湖南中医药大学 计算机系
2.1.3 字符与字符串的表示方法

BCD码 指每位十进制用 4 为二进制数编码来 表示,即选用0000-1001来表示0-9, 它 又 叫 做 8421 码 。 如 : 2 5 = ( 0 0 1 0 0101)BCD
湖南中医药大学 计算机系
2.1.3 字符与字符串的表示方法

所要求的精度时,将整数部分由上而下排列。 0.625 2 1.250 2 0.50 2 1.0 结果为:0.101
整数为1 整数为0 整数为1 小数值为0


湖南中医药大学 计算机系
编码和数制
非十进制数
十进制数
位权法:把各非十进制数按权展开求和 转换公式:(F)x =an-1×xn-1 + an-2×xn-2 + ... +
试试看哦
带 符 号 的 机 器 数
例 设机器数字长为 8 位(其中一位为符号位) 对于整数,当其分别代表无符号数、原码、补码和 反码时,对应的真值范围各为多少?
二进制代码 无符号数 对应的真值 原码对应 的真值 补码对应 的真值 反码对应 的真值
00000000 00000001 00000010 01111111 10000000 10000001 11111101 11111110 11111111 … …
2.1.1 数据格式 1. 定点数的表示方法
小数点(纯小数) 小数点(纯整数)
x0
符号
x1
x2
x3
x4 …..
xn-1、 xn
量值(尾数)

纯小数 0≤|x|≤1-2-n 纯整数 2n-1≤|x|≤0
湖南中医药大学 计算机系
2.1 数据与文字的表示方法
湖南中医药大学 计算机系
2.1 数据与文字的表示方法
湖南中医药大学 计算机系
引言

C语言程序改进
似乎还是浮 点数靠谱点
#include<stdio.h> main() { float a=200,b=300,c=400,d=500; printf("200*300*400*500=%f\n",a*b*c*d); }
湖南中医药大学 计算机系
做个算数题
(3.14+1e20)-1e20 3.14+(1e20-1e20)

这又是肿么了?
#include<stdio.h> main() { printf("(3.14+1e20)-1e20=%f\n",(3.14+1e20)-1e20); printf("3.14+(1e20-1e20)=%f\n",3.14+(1e20-1e20)); }
湖南中医药大学 计算机系
基本ASCII字符表
湖南中医药大学 计算机系
2.1.3 字符与字符串的表示方法

即美国信息交换标准代码,每个字 符用8位表示,其中7位来表示字符,还有一 位用来效验,称为效验位。常用字符有 128 个,编码从0到127。 空格 20H 32 ‘0’~’9’ 30H~39H 48~57 ‘A’~ ‘Z’ 41H~5AH 65~90 ‘a ’ ~ ‘z ’ 61H~7AH 97~122 控制字符:0~32, 127; 普通字符:94个。
二进制
三位并一位 一位拆三位 四位并一位
八进制
二进制
一位拆四位
十六进制
湖南中医药大学 计算机系
编码和数制
示例: 100 110 110 111 . 010 100
(4
6
6
7
. 2 4 )8
0001 1011 0111.0100 ( 1 B 7 . 4 )16
湖南中医药大学 计算机系
练习
12.125=( (20.A1)16=(
十进制数和BCD码对照表
十进制 0 1 2 3 4
BCD码 0000 0001 0010 0011 0100
十进制 5 6 7 8 9
BCD码 0101 0110 0111 1000 1001
湖南中医药大学 计算机系
2.1 数据与文字的表示方法
湖南中医药大学 计算机系
2.1 数据与文字的表示方法
2.1 数据与文字的表示方法
湖南中医药大学 计算机系
2.1 数据与文字的表示方法
湖南中医药大学 计算机系
2.1 数据与文字的表示方法
试一试
湖南中医药大学 计算机系
2.1 数据与文字的表示方法
湖南中医药大学 计算机系
2.1 数据与文字的表示方法
湖南中医药大学 计算机系
练习

见课本p63 题4 解答: 见课本p17 x=(-1)S*1.M*2E-127
符号位
真值
机器数
即:+77
0 1001101
湖南中医药大学 计算机系
2.1 数据与文字的表示方法
湖南中医药大学 计算机系
2.1.2 数的机器码表示
2. 补码表示法 模的启发 定点小数 定点整数 运算不论正负,都做加法 求补码还是要做减法
湖南中医药大学 计算机系
2.1.2 数的机器码表示



需要比较大小 时,怎么办?
移码
补码表示很难直接判断其真值大小 如 十进制 二进制 补码 x = +21 x = –21 x = +31 x = –31 +10101 –10101 +11111 –11111 0,10101 1,01011 0,11111 1,00001
大 正确




x+2
2.1 数据与文字的表示方法
31 30 24 23 22 0

阶符 阶码 阶码部分 数符

尾数 尾数部分
浮 点 数
如:0.27E-2 → + 0.27 * 10-2
湖南中医药大学 计算机系
2.1 数据与文字的表示方法
湖南中医药大学 计算机系
2.1 数据与文字的表示方法
湖南中医药大学 计算机系
湖南中医药大学 计算机系
2.1.2 数的机器码表示
湖南中医药大学 计算机系
2.1.2 数的机器码表示
湖南中医药大学 计算机系
小练习
湖南中医药大学 计算机系
2.1.2 数的机器码表示
湖南中医药大学 计算机系
2.1.2 数的机器码表示
补码比较大小
补码表示很难直接判断其真值大小 如 十进制 二进制 补码 x = +21 x = –21 x = +31 x = –31 +10101 –10101 +11111 –11111 0,10101 1,01011 0,11111 1,00001 错
2.1.5 校验码-奇校验
怎么设计电路?
湖南中医药大学 计算机系
2.1.5 校验码-奇校验
湖南中医药大学 计算机系
思考

a>b

a-b>0
有区别吗
溢出检测能这样进行吗?
◦ 如果求和sum=x+y ◦ 则可依据y==sum-x判断是否溢出
湖南中医药大学 计算机系
2.1 数据与文字的表示方法
3. 十进制数串的表示方法 字符串形式 一个字节----一个数位或符号位 访问:起始地址、位数 压缩的十进制数串形式 半个字节----一个数位或符号位 符号位用冗余状态表示,在最后 长度为整数个字节 访问:起始地址、数字位个数(位长) 位长可变,为0时数也为0
湖南中医药大学 计算机系
“权威”程序猿怎么来?
大量计算机的安全漏洞是由于计算机算 数运算的微妙细节引发的。 现在许多黑客企图利用他们能找到的任 何漏洞,不经过授权就进入他人的系统 程序猿有更多的责任和义务去了解他们 自己写的程序如何工作,以及被迫产生 不良的行为。 如果你不准备当程序猿... ...别废话了, 从基础开始了解计算机吧... ...
5
+10101 + 100000 = 110101 10101 + 100000 = 001011 +11111 + 100000 = 111111 11111 + 100000 = 000001

正确
2.1.2 数的机器码表示 -77
原码 反码 补码
1 1 0 0 1 1 0 1 1 0 1 1 0 0 1 0 1 0 1 1 0 0 1 1
湖南中医药大学 计算机系
2.1 数据与文字的表示方法
2. 浮点数的表示方法 N = Re * M M e R

尾数、纯小数 指数 基数 2,8,16
Es
阶符

E1 E2 … E m
阶码 32位浮点数 31 30 23 22 S E

Ms
数符
M1 M2 … Mn
尾数 0 M
E(移码)=e+127 (01111111) 浮点数的规格化表示 x=(-1)s×(1.M)×2E-127
相关文档
最新文档