计算机中常用的数制
常用数制及其相互转换

一、常用数制及其相互转换在我们的日常生活中计数采用了多种记数制,比如:十进制,六十进制(六十秒为一分,六十分为一小时,即基数为60,运算规则是逢六十进一),……。
在计算机中常用到十进制数、二进制数、八进制数、十六进制数等,下面就这几种在计算机中常用的数制来介绍一下。
1.十进制数我们平时数数采用的是十进制数,这种数据是由十个不同的数字0、1、2、3、4、5、6、7、8、9任意组合构成,其特点是逢十进一。
任何一个十进制数均可拆分成由各位数字与其对应的权的乘积的总和。
例如:???这里的10为基数,各位数对应的权是以10为基数的整数次幂。
为了和其它的数制区别开来,我们在十进制数的外面加括号,且在其右下方加注10。
2.二进制数在计算机中,由于其物理特性(只有两种状态:有电、无电)的原因,所以在计算机的物理设备中获取、存储、传递、加工信息时只能采用二进制数。
二进制数是由两个数字0、1任意组合构成的,其特点是逢二进一。
例如:1001,这里不读一千零一,而是读作:一零零一或幺零零幺。
为了与其它的数制的数区别开来,我们在二进制数的外面加括号,且在其右下方加注2,或者在其后标B。
任何一个二进制数亦可拆分成由各位数字与其对应的权的乘积的总和。
其整数部分的权由低向高依次是:1、2、4、8、16、32、64、128、……,其小数部分的权由高向低依次是:0.5、0.25、0.125、0.0625、……。
二进制数也有其运算规则:加法:0+0=0????0+1=1???1+0=1????1+1=10乘法:0×0=0????0×1=0????1×0=0????1×1=1二进制数与十进制数如何转换:(1)二进制数—→十进制数对于较小的二进制数:对于较大的二进制数:方法1:各位上的数乘权求和??例如:(101101)2=1×25+0×24+1×23+1×22+0×21+1×20=45(1100.1101)2=1×23+1×22+0×21+0×20+1×2-1+1×2-2+0×2-3+1×2-4=12.8125方法2:任何一个二进制数可转化成若干个100…0?的数相加的总和??例如:(101101)2=(100000)2+(1000)2+(100)2+(1)2而这种100…00形式的二进制数与十进制数有如下关联:1后有n个0,则这个二进数所对应的十进制数为2n。
计算机中的数制和编码

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位的原码、反码和补码表示的 范围分别为:
计算机中的数制

4
0
2
2
1
1
0.5
0
0.25
0.25
0.125
.0625
0.125 .0625
16 + 8 + 0 + 2 + 1 + 0 + .25 + .125 + .0625 = 27.4375
数 制 的 转 换
例4: 将下面给出的二进制数转换成十六进制的数
二进制数 十六进制数
0010 2 0000 0 0101 5 1010 A 0111 7 1110 E 0100 4
[例]:
[X]原=1 0110100
[X]反=1 1001011
[+0]反=00000000 [-0]反 =11111111 即:数0的反码也不唯一
补码
定义:
若X>0, 则[X]补= [X]反= [X]原 若X<0, 则[X]补= [X]反+1 [例]: X= –52= – 0110100
[X]原=10110100
1.2
计算机中的数制
数制 是人们利用符号来计数的科学方法。数制可以 有很多种,但在计算机的设计和使用上常用的 则为十进制、二机制、八进制和十六进制。 数制的基和位权 数制所使用的数码的个数称为基,数制中每一 固定位置对应的单位值称为“位权”
十进制: 基为“10”,权为以10为底的幂, —D 二进制: 基为“2”,权为以2为底的幂, —B 八进制: 基为“8”,权为以8为底的幂, —O 十六进制:基为“16”,权为以16为底的幂 —H
ASCII码
ASCII码是目前微机中普遍采用的字符编码系统。 字符的编码,一般用7位二进制码表示128个字符和 符号。在需要时可在D7位加校验位。 0~9的ASCII码:30H~39H;
大学计算机基础1.2计算机的数制

0.3125
×
8
2.5000…………2
×8
4.0000…………4
因此: (125.3125)10 = (175.24) 8
注意: 在十进制小数转换成二进制小数过程中,如出现小数部分不 归0的情况,则应按精度要求“0舍1入”。
十进制
二进制
八进制
十六进制
不
0
0
0
0
同
1
1
1
1
数
2
10
计算机中常用的数制
进位制 进位规则 基数 二进制 逢二进一 r=2
所用数码 0,1
位权 表示符号
2i
B(Binary)
八进制 逢八进一 r=8 0,1,…,7 8i
O(Octal)
十进制 逢十进一 r=10 0,1,…,9 10i D(Decimal)
十六进制 逢十六进一 r=16 0,1,…,9,A,…,F 16i H(Hexadecimal)
三种基本逻辑运算的真值表
a
b
a
a∧b
a∨b
0
0
1
0
0
0
1
0
1
1
0
0
0
1
1
1
0
1
1
若干位二进制数组成的逻辑数据,位与位之间没有“位权”的内 在联系。对两个逻辑数据进行运算时,每位相互独立,按位进 行运算,不存在进位与借位,运算结果也是逻辑量。
逻辑代数是实现逻辑运算的数学工具,逻辑代数有三种基本的逻 辑运算:与、或、非。其它复杂的逻辑关系均可由这三种基本 逻辑运算组合而成。
①与运算(逻辑乘法) 当做一件事情取决于多种因素时,当且仅当所有因素都满足时才去做,
计算机中常用的数制

十进制数转换为非十进制数
十进制数
整数
小数
二进制数
转换方法:
除2取余,直到商为0 (基数除法)
例:将十进数45转换成二进制数 2 2 2 4 5 2 2 1 1 2 5 2 2 2 1 0 余数 · · · · · · · · · · 1 · · · · · · · · · · · 0 · · · · · · · · · · · 1 · · · · · · · · · · · 1 · · · · · · · · · · 0 · · · · · · · · · · 1 ·
累计到 10 进位
10进制
累计到 8 进位
8进制
累计到 2 进位
2进制 进位基数
进位基数决定了数的每一位的权限
两个概念
• 基数 • 位权
• 提示:按位权展开
• 两种表示方法:
– 脚标: (520)10 (100.11)2 – 字母: 520D 100.11B (11.37)8 11.37O (4F.B6)16 4F.B6H
(159)8
= 1 82 + 5 81 + 9 80
= 64+40+9=(113)10
(2A4)16
= 2 162 +10 161 + 4 160 = 512+160+4=(676)10
友情提示
十进制 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 „
转换方法:
例:将十进小数0.8125转换成二进制数 分离整数
乘2取整,直到积为整(即去整 后为零——基数乘法)
0. 8 1 2 5 2 1. 6 2 5 0 0. 6 2 5 2 1. 2 5 0
计算机运算基础复习1常见的几种数制

几个重要概念重点概念1:计算机中的数据都是以二进制形式进行存储和运算的重点概念2:在计算机中存储数据时,每类数据占据固定长度的二进制数位,而不管其实际长度。
一般长度为字节的整倍数例如:在八位微机中,整数216 存储为11011000B整数56 存储为00111000B复习1)十进制特点:每一位数有02)二进制特点:3)十六进制特点:1(即乘10101000376542复习真值与机器数例:真值与机器数+77机机例:真值与机器数-77机机2数的定点与浮点表示计算机中如何表示实数中的小数点呢?计算机中不用专门的器件表示小数点,而是用数的两种不同的表示法来表示小数点的位置。
根据小数点的位置是否固定,数的表示方法分为定点表示和浮点表示,相应的机器数称为定点数和浮点数。
任意一个二进制数N均可表示为:N=S·2J其中:最后面或最前面,即分为定点纯小数与定点纯整数两类,如图1-6所示。
01000000定点小数:定取不同的数值,则在计算机中除了要表示尾码示阶码J。
因此,一个浮点数表示为阶码和尾数两部分,尾数一般是定点纯小数,阶码是定点纯整数,其形式如图点N = 2p S点例:X= +10110.01= 2 +101×(+ 0.1011001)26点= 2无符号数带符号数数有正、负→带符号数把符号位和数值位一起编码:原码,反码,补码。
顺时针调:7+9 =4 (mod 12)逆时针调:7-3 =4 (mod 12)由于时钟上超过12点时就会自动丢失一个数与原码相同,只要将符号位的得到它的真值。
对一个二进制数按位取反,最低位加1。
(计算机 已知负数的补码求真值在计算机中,用补码表示方法:按位取反,最低位加12 105 2 52 12 26 0[ 105D ] 补8位= 0 –0110 1001B = 0 –69H -D 2000:0 如,用DEBUG 查看到存放在内存中的一组符号数:由最高位判断:0 →正数7DH的真值= 7 ×16 + 13 = 125 D凡是能在计算机内存储或参与运算的都是二进制形式的机器数,计算机只能出别“0”和“1”,对于某个二进别致的最高位究竟应看做为符号位还是数值位,理论上是无法自动识别但是,由于引入了补码概念,使得计算机在进行无符号数和有符号数的运算时能够实现操作的一致性,且结果合理。
计算机中的数制和码制教案

计算机中的数制和码制教案一、教学目标1. 让学生了解计算机中常用的数制,如二进制、十进制、十六进制等。
2. 使学生掌握不同数制之间的转换方法。
3. 让学生了解计算机中的编码方式,如ASCII码、Uni码等。
4. 培养学生运用数制和码制解决实际问题的能力。
二、教学内容1. 数制的概念及表示方法数制的定义:数制是一种表示数值的方法,计算机中常用的数制有二进制、十进制、十六进制等。
不同数制的表示方法及转换关系。
2. 二进制与十进制的转换二进制与十进制之间的转换方法。
练习题:进行二进制与十进制的相互转换。
3. 十六进制与十进制的转换十六进制与十进制之间的转换方法。
练习题:进行十六进制与十进制的相互转换。
4. 计算机中的编码方式ASCII码:字符与二进制之间的对应关系。
Uni码:字符集的扩展与多语言支持。
练习题:根据字符写出对应的ASCII码或Uni码。
三、教学方法1. 讲授法:讲解数制的概念、转换方法及编码方式。
2. 实践法:让学生通过练习题进行实际操作,巩固所学知识。
3. 讨论法:分组讨论实际问题,培养学生解决问题的能力。
四、教学步骤1. 引入数制的概念,讲解不同数制的表示方法及转换关系。
2. 讲解二进制与十进制的转换方法,进行练习。
3. 讲解十六进制与十进制的转换方法,进行练习。
4. 介绍计算机中的编码方式,讲解ASCII码和Uni码的概念及应用。
5. 根据字符写出对应的ASCII码或Uni码,进行练习。
五、教学评价1. 课堂问答:检查学生对数制和码制的理解程度。
2. 练习题:评估学生运用数制和码制解决问题的能力。
3. 小组讨论:评价学生在团队合作中解决问题的能力。
六、教学内容6. 数制转换的实际应用讲解在计算机系统中如何使用不同数制进行数据表示和处理。
分析实际案例,展示不同数制转换在计算机科学中的应用。
练习题:解决实际问题,如计算机存储、数据传输中的数制转换。
7. 计算机中的高级编码技术介绍计算机中除ASCII码和Uni码外的其他编码方式,如UTF-8、UTF-16等。
进制之间的转换

计算机中常用的数制一、几种常用的进位计数制1.十进制 (10个基本数码:0、1、2、3、4、5、6、7、8、9)2.二进制(2个基本数码:0、1)3.八进制(8个基本数码:0、1、2、3、4、5、6、7)4.十六进制(16个基本数码:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F)二、计算机常用的各种进制数的特点三、不同进位计数制间数据的转化1.二进制数转换成十进制数方法:把二进制各数位的权和该位上的数码相乘,乘积逐项相加。
注意:整数部分权由0,1,2依次展开,小数部分权由-1,-2依次展开。
遇0时可以省略,因为0乘以任何数都为0。
例题:把二进制111010和101.101转换成十进制数。
(111010)2=1ⅹ25+1ⅹ24+1ⅹ23+1ⅹ21=(58)10(101.101)2=1ⅹ22+1ⅹ20+1ⅹ2-1+1ⅹ2-3=(5.625)102.十进制数转换成二进制数方法:整数部分“除2取余法”,小数部分“乘2取整法”注意:整数部分在取余数时,从后向前取,小数部分从前向后取。
例题:把十进制205.8125转换成二进制数。
整数部分205转换过程如下:小数部分0.8125转换过程如下:(205.8125)10=(11001101.1101)23.十进制数转换成八进制数方法:整数部分“除8取余法”,小数部分“乘8取整法”注意:整数部分在取余数时,从后向前取,小数部分从前向后取。
例题:把十进制1645.6875转换成八进制数。
(1645.6875)10=(3155.54)84.十进制数转换成十六进制数方法:整数部分“除16取余法”,小数部分“乘16取整法”注意:整数部分在取余数时,从后向前取,小数部分从前向后取。
例题:把十进制205.21875转换成十六进制数。
(205.21875)10=(CD.38)165.十六进制数和八进制数转换成二进制数方法:十六进制和八进制到二进制分别为24和23,因此,把十六进制和八进制数的每一个数码转成3位和4位的二进制即可.注意:整数前的高位O和小数后的低位O可以去掉。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2 1 ··········· 0 0 ··········· 1
二进制的高位
转换结果: (2·5·6·)· 10=(100000000)2
转换方法: 乘2取整,直到积为整(即去整 后为零——基数乘法)
例:将十进小数0.8125转换成二进制数
小数点.
分离整数 1
0. 8 1 2 5
2
1. 6 2 5 0
= 8+0+2+1++0+0.25=(11.25)10
(159)8 = 1 82 + 5 81 + 9 80
= 64+40+9=(113)10
(2A4)16 = 2 162 +10 161 + 4 160
=512+160+4=(676)10
友情提示 • 请理解并熟记常用进位计数制的表
十进制 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 …
浮点数表示
10101100
定点小数
符号位 “0”表示正 、 “1”表示 负
小数点 S
定点整数
S
小数点
无符号位
数据在计算机中的表示
浮点数表示
规格化的形式:
阶符 阶码 数符 尾数
0.1≤尾数的绝对值<1 唯一规定了小数点的位置。
(110.011)2=1.10011×2+10=11001.1×2-10=0.110011×2+11
计算机中常用的数制
进位计数制
几种常见的进位计数制
十进制 二进制 八进制 十六进制
各种进数值的转换
进位计数制: 是一种科学的计数方法,它以累计和进位
的方式进行计数,实现了很少的符号表示 进
大范围数字的目的。
位
计
数
1 2 3 4 5 6 7 8 9 10
值
的
11 12 13 14 15 16 17 18 19 20
10
二进制数使用的数码少,只有0和1,用电器元件的状 态来表示既方便有可靠,在计算机内部存储和运算中 使用,运算简单,工作可靠。
特点: 用八个数码表示——0、1、2、3、4、5、6、7
遵循“逢八进一”的规 则
权展开式: 对任何一个n位整数m位小数的八进制数,可表示为:
D=Qn-1 ·8n-1+ Qn-2 ·8n-2+ ···+ Q0 ·80+ Q-1 ·8-1 + ···+ Q-m ·8-m
十六进制数转成二进制数
24 = 16 1位八进值数恰好与4位二进制数相对应 “一位拆四位” 例:将十六进制数(3ACD.A1)16转换成二进制数
转换过程:
3 A C D .A 1
0011 1010 1100 1101 .1010 0001
练习 转换结果:(3ACD.A1)16 =(11101011001101.10100001)2
二进制的低位 二进制的高位
转换结果: (121)10=(1111001)2
练习2:将(256)10 转换成二进制数
2
256
余数
2 128 ······· 0
二进制的低位
2 64 ··········· 0
2 32 ··········· 0
2 16 ··········· 0
28 24 22
······· 0 ··········· 0 ··········· 0
特点: 用十个数码表示——0、1、2、3、4、5、6、7、8、9
遵循“逢十进一”的规 则
权展开式: 对任意一个n位整数和m位小数的十进制数D,可表示为:
Dm =Dn-1 ·10n-1+ Dn-2 ·10n-2+ ···+ D0 ·100+ D-1 ·10-1 + ···+ D-m ·10-
例:将十进制数314.16写成展开式形式
二进制 0 1 10 11
100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000 10001 10010 …
八进制 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 …
十六进制 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 11 12 …
本
质
特
征
累计到 10 进位 累计到 8 进位 累计到 2 进位
10进制
8进制
2进制
进位基数决定了数的每一位的权限
进位基数
• 基数 • 位权
两个概念
• 提示:按位权展开
• 两种表示方法:
– 脚标: (520)10 (100.11)2 (11.37)8 (4F.B6)16 – 字母: 520D 100.11B 11.37O 4F.B6H
非十进制数转换为十进制数 方法:把各个非十进制数按权展开求和
将二进制数转换成十进制数,只需 按权展开式做一次十进制运算即可。
例:将二进制数(1011.01)2转换成十进制数
(1011.01)2 = 1 23 + 0 22 + 1 21 + 1 20 + 0 2-1 + 1 2-2
= 8+0+2+1++0+0.25=(11.25)10
八进制数转成二进制数
23 = 8 1位八进值数恰好与3位二进制数相对应 “一位拆三位”
每一位八进制数展成三位二 进制数,不足三位者补0。
例:将八进制数(4675.21)8转换成二进制数
转换过程:
4 6 7 5 .2 1
100 110 111 101 .010 001
转换结果:(4675.21)=8 (100110111101.010001)2
解:(3C4)16 = 3 162 +12 161 + 4 160 =(964)10
在表示同一量值时,十六进制数来的最短,如:将 (110111001101)2写成(DCD)16,且与二进制转换方便, 因此十六进制数常用来在程序中表示二进制数或地址。
(1011.01)2 = 1 23 + 0 22 + 1 21 + 1 20 + 0 2-1 + 1 2-2
例:八进制数(317)8代表多大的十进制数?
解:(317)8 = 3 82 + 1 81 + 7 80 = 192+8+7=(207)10
八进制接近十进制,且与二进制转换方便,常用来对 二进制数的“缩写”,如:将(110111001101)2写成 (6715)8,便于对二进制数的表示和记忆。
特点: 用十六个数码表示——0、1、2、3、4、5、6、7、
权展开式: 对任何一个n位整数m位小数的二进制数,可表示为:
D=Bn-1 ·2n-1+ Bn-2 ·2n-2+ ···+ B0 ·20+ B-1 ·2-1 + ···+ B-m ·2-m
例:将二进制数(1101.01)2写成展开式形式,它代表多 大的十进制数?
解:(1101.01)2 = 1 23 + 1 22 + 0 21 + 1 20 + 0 2-1 + 1 2-2 = 8+4+0+1++0+0.25=(13.25)
转换过程:
0010 1101 0101 . 0111 0100
2 D 5 .7
4
转换结果:(10110101011.011101)2 =(2D5.74)16
! 八进制数与十六进制数的转换
•
方法:借助于二进制完成。
二进制的运算规则
加减运算规则:逢N进一,借一当N
二进制数的运算规则
加法运算法则 0+0=0 0+1=1+0=1 1+1=0
0. 6 2 5
2
1
1. 2 5 0
0. 2 5
2
0
0. 5 0
二进果: (0.8125)10=(1101)2
练习
若恒不为0怎么办
• 按照精度要求,最后一位0舍1入
练习1:将(25.25)10转换成二进制数
整数部分
小数部分
2
25
2 12
26 23 21
0
······· 1 ··········· 0 ··········· 0 ··········· 1 ······· 1 ····
练习1
将八进制数(2754.41)8转换成二进制数
转换过程:
2 7 5 4 .4 1
010 111 101 100 .100 001
转换结果:(2754.41)=8 (10111101100.100001)2
练习2
将十六进制数(5A0B.0C)16转换成二进制数
转换过程:
5 A 0 B .0 C
减法运算法则 0-0=1-1=0 1-0=1 0-1=1
乘法运算法则 0×0=0 0×1=1×0=0 1×1=1
除法运算法则 0÷0=0 0÷1=0 1÷1=1
• 请计算1011+1001=? • 1011x1001=? • 1100-101.11=?
数据在计算机中的表示
定点数表示
有符号数的机器数表示
0
2 2 ··········· 0
2 1 ··········· 0
1
0 ······· 1
····
转换结果:(66.625)10 =(1000010 .101)2