机器数及数制

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A 1 9 C
1010 0001 1001 1100 ∴ A19CH = 1010,0001,1001,1100B
6
十六进制
十进制
BF3CH = 11163 + 15162 + 3161 + 12160=48956D
降幂法 除法 例: 399D = ? H 399 143 - - 256 16 1 8 ∴ 399D = 18FH 15 - 1 F 低 16 399 16 24…(15) F 16 1………… 8 =18FH 0…………1

7
3. 数和字符的表示
数(机器数)的表示:
计算机中的数用二进制表示,数的符号也用二进制表示。 机器字长:指参与运算的数的基本位数,标志着计算精度, 一般是字节的整数倍(8位、16位、32位等)。 假设机器字长n为8位
7 6 5 4 3 2 1 0 符号位=0 表示正数 符号位=1 表示负数 符号位 数值位 8 7 6 5 4 3 2 1 0
8
假设机器字长n为16位
15 14 13 12 11 10 9
符号位
数值位
常用表示法 —— 原码 反码 补码 原码表示法:符号 + 绝对值 例:n=8bit [+3]原码 = 0 000,0011 = 03H [ -3]原码 = 1 000,0011 = 83H [+0]原码 = 0 000,0000 = 00H [ -0]原码 = 1 000,0000 = 80H 0的表示不唯一 反码表示法:正数的反码同原码,负数的反码数值位与原码相反 例:n=8bit [+5]反码 = 0 000,0101 = 05H [ -5]反码 = 1 111,1010 = FAH [+0]反码 = 0 000,0000 = 00H [ -0]反码 = 1 111,1111 = FFH
8
10 16
0,1,2,3,4,5,6,7
0,1,2,3,4,5,6,7,8,9 0,1,2,3,4,5,6,7,8,9, A,B,C,D,E,F
3
1. 数


十进制:基数为10,逢十进一
制Leabharlann Baidu
12.34 = 1×101 + 2 ×100 + 3 ×10-1 + 4 ×10-2 二进制:基数为2,逢二进一
降幂法 除法 例: 29D = ? B 2 29 低 29 13 5 1 1 2 14………1 2 7………0 - - - - - =11101B 2 3…… 1 16 8 4 2 1 2 1……1 1 1 1 0 1 0… 1 高 ∴ 29D = 11101B
5
二进制
十六进制
0011 0101 1011 1111 3 5 B F ∴ 0011,0101,1011,1111B = 35BFH
[+127]补码 = 0111 1111 = 7FH
[127]反 = 1000 0000B
[127]补 = 1000 0001B
[-1]补码 [-127]补码 [-128]补码 [-0]补码
= = = =
1111 1111 = FFH 1000 0001 = 81H 1000 0000 = 80H 0000 0000 = 00H(+0、-0相同)
1个二进制位:bit(比特) 8个二进制位:Byte(字节) 1Byte=8bit 2个字节:Word(字) 1Word=2Byte=16bit
2
1. 数
数 制 基 数
2


0,1

二进制 Binary(B)
八进制 Octal (O)
十进制 Decimal (D) 十六进制 Hexadecimal(H)
13
4.计算机中信息的编码
十进制数的二进制编码 BCD码 ( 二 —十进制编码 ) 每位十进制数字编成 4位二 进制代码编码表示 。 压缩BCD码:一字节表示二位BCD码。 如:57D=0101 0111BCD
二 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1xx1 十 0 1 2 3 4 5 6 7 8 9 无意义
基 础 知 识
数制 数制之间的转换 运算 数和字符的表示
1
预 备 知 识
22=4 24=16 220=1048576 28=256 210=1024
1K= 210=1024 (Kilo) 1M=1024K= 220 (Mega) 1G=1024M= 230 (Giga) 1T=1024G=240
n位补码的表数范围: - 2n-1 N 2n-1-1 n=8 -128 N 127 n=16 -32768 N 32767
12

一个二进制符号数的扩展
1.原码的扩展:符号位向左移至最高位,符号 位移过之位填0 2.补码的扩展:正数的扩展在前面补0,负数的 扩展在前面补1

1 BYTE = 8 BIT
5/16
3.字长
单片机一次能处理数据的位数称为字长,AT89S51的 CPU一次最多能处理8位二进制的数据信息。 所以AT89S51为8位机,字长为8位,或为1字节。
4.存储元
存储元是存储器中的对象,表示存储1位二进制信息的物 理单元。
5.存储单元
存储单元是存储器中的对象,一个存储单元含 有若干个存储元。如果一个存储单元含有8个存储 元,即该存储单元长度是8位。 6/16
11012 = 1 ×23 + 1 ×22 + 1 ×20 = 1310
十六进制:基数为16,逢十六进一 1001, 0001, 1000, 0111 9 1 8 7 = 9 ×163 + 1 ×162 + 8 ×161 + 7 ×160

八进制:基数为8,逢八进一
4
2. 数制之间的转换
二进制
十进制 按权展开 1011B = 11D
0的表示不唯一
9
补码表示法:
正数的补码:同原码 [+1]补码 = 0000 0001 = 01H
[+127]补码 = 0111 1111 = 7FH [+0]补码 = 0000 0000 = 00H 负数的补码:与它绝对值相等的正数的补数。 负数的补码的求法一: (1)写出与该负数相对应的正数的补码 (2)按位求反 (3)末位加1 例: 机器字长8位,[-46]补码 = ? [46]补码 = 0010 1110 按位求反 1101 0001 末位加一 1101 0010 = D2H 机器字长16位,[-46]补码 = FFD2H
10
方法2.写出与该负数相对应的正数的补码; 从低位向高位寻找第一个“1”,在找到第一个“1”之前保留 所有位,第一个“1”左边的按位取反
[+4]原 = [+4]补 = 0 000 0100B [4]原 = 1000 0100B [4]反 = 1111 1011B [4]补 = 1111 1100B [127]原 = 1111 1111B
15
练习: 1. 将下列十进制数转换成二进制数、十六进制数 (1)67 2 .用 8 位二进制数写出下列十进制数的原码、反码、和 补码。 (1)-115
16
17
单片机应用技术中重要术语
1.位
在单片机应用中表示一个二进制信息的单位,1位 即标志1个二进制信息0或1,单位:BIT(比特)
2.字节
规定8位二进制数据长度为1个字节,单位:BYTE
6.存储单元地址
在存储器中每个存储单元都使用一个地址来表示,该 地址往往也是二进制信息,长度由该存储器中存储单元 的数量决定。
存储器
存储单元地址
存储器单元
0008H 0007H 0006H 0005H 0004H 0003H 0002H 0001H 0000H
存储元
7/16
14
非压缩BCD码:一字节表示一位BCD码。
如:57D=0000 0101 0000 0111BCD
字符的表示 ASCII码:用一个字节来表示一个字符(包括一些不可
见的控制字符),低7位为字符的ASCII值, 最高位一般用作校验位。 例: ‘A’ ‘a’ ‘0’ 换行 回车 空格 41H 61H 30H 0AH 0DH 20H
相关文档
最新文档