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

一、常用数制及其相互转换在我们的日常生活中计数采用了多种记数制,比如:十进制,六十进制(六十秒为一分,六十分为一小时,即基数为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
大一计算机进制知识点

大一计算机进制知识点计算机进制是计算机中十分重要的概念之一,它决定了计算机在处理数据时所采用的基本方式。
在计算机科学与技术领域中,常用的进制包括二进制、十进制、八进制和十六进制。
以下将分别对这四种进制进行详细介绍。
二进制:二进制是计算机中最基础的进制,也是计算机内部数据表示和处理的方式。
它只包含两个数字0和1,其数位权值按2的幂次递增。
例如,二进制数1101表示的是1×2^3 + 1×2^2 + 0×2^1 +1×2^0,即13。
在计算机内部,所有的数据都以二进制形式存储和处理。
十进制:十进制是我们最常用的进制,它是基于10的数制系统。
十进制由0到9这10个数字组成,每一位的权值按10的幂次递增。
例如,十进制数567表示的是5×10^2 + 6×10^1 + 7×10^0,即567。
在日常生活中,我们经常使用十进制进行数值的计算和表达。
八进制:八进制是一种基于8的进制系统,它由0到7这8个数字组成,每一位的权值按8的幂次递增。
八进制在计算机中常用于表示较长的二进制数据,因为它可以用更少的位数来表示相同的数值。
例如,八进制数72表示的是7×8^1 + 2×8^0,即58。
十六进制:十六进制是一种基于16的进制系统,它由0到9和A到F这16个数字组成,其中A代表10,B代表11,以此类推,F代表15。
每一位的权值按16的幂次递增。
十六进制在计算机中常用于表示二进制数据的辅助形式,因为它更加简洁和易读。
例如,十六进制数1A7表示的是1×16^2 + 10×16^1 + 7×16^0,即423。
计算机进制转换:在计算机中,常常需要进行不同进制之间的转换。
这些转换可以通过数学方法或者计算机编程来实现。
下面是几种常见的进制转换方法:1. 二进制转换成其他进制:- 二进制转换成十进制:将每一位的权值乘以相应的位数值,然后求和即可。
计算机运算基础复习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”,对于某个二进别致的最高位究竟应看做为符号位还是数值位,理论上是无法自动识别但是,由于引入了补码概念,使得计算机在进行无符号数和有符号数的运算时能够实现操作的一致性,且结果合理。
《计算机科学导论》第2章 计算机基础知识

几种常用的进位计数制比较
十进制数 二进制数 十六进制数 八进制数
符号组成
0 ~9
0和1 和
0~9,A~F ,
0~7
基数 第K位权值 位权值
10
- 10K-1
2
- 2K-1
16
- 16K-1
8
K-1 8 K-1
加减运算 法则
逢十进一 借一当十
逢二进 一, 借一当 二
进一, 逢16进一, 进一 借一当16 借一当
逢八进一 借一当八
数制之间的转换
其它进制转换为十进制 二进制与八进制、 二进制与八进制、十六进制的相互转换 十进制数转换为其它进制数
其它进制转换为十进制
方法: 按进位计数制( 位置计数法) 展开计算 方法 : 按进位计数制 ( 位置计数法 ) 后得到十进制 例1:将二进制数 :将二进制数1101.101转换为十进制数 转换为十进制数 解: (1011.101)2 ) =1×23+0×22+1×21+1×20+1×2-1+0×2-2+1×2-3 × × × × × × × =8+0+2+1+0.5+0+0.125 =11.625
练 习
将(11.375)10转换为二进制数 ) 将十进制数301.6875转换为十六进制数 转换为十六进制数 将十进制数 将3ADH转换为十进制数 3ADH转换为十进制数 将10001110010001010B转换为十六进制 10001110010001010B转换为十六进制
计算机中为什么采用二进制? 计算机中为什么采用二进制?
解: 2 ︳105 余数为1 2 ︳52 余数为1 余数为0 2 ︳26 余数为0 余数为0 2 ︳13 余数为0 余数为1 2 ︳6 余数为1 余数为0 2 ︳3 余数为0 余数为1 2 ︳1 余数为1 余数为1 0 余数为1 所以,(105) =(1101001 ,(105 1101001) 所以,(105)10=(1101001)2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
特点: 用十六个数码表示——0、1、2、3、4、5、6、7、
8、9、A、B、C、D、E、F 遵循“逢十六进一”的规 则
权展开式: 对任何一个n位整数m位小数的十六进制数,可表示为:
n-1 n-2 0 -1 D = H · 16 + H · 16 + · · · + H · 16 + H · 16 + · · · + H · 16 n-1 n-2 0 -1 -m m
遵循“逢二进一”的规 则
计算机可直接识别的进制
权展开式: 对任何一个n位整数m位小数的二进制数,可表示为:
D=Bn-1 ·2n-1+ Bn-2 ·2n-2+ ··· + B0 ·20+ B-1 ·2-1 + ··· + B-m ·2-m
例:将二进制数(1101.01)2写成展开式形式,它代表多 大的十进制数?
例:将十进制数314.16写成展开式形式 解: 314.16 = 3 102 + 1 101 + 4 100 + 1 10-1 + 6 10-2 = 300+10+4+0.1+0.06 十进制数是人们最习惯使用的数值,在计算机中一般 把十进制数作为输入输出的数据型式。
特点: 用两个数码表示——0、1
例:十六进制数(3C4)16代表多大的十进制数? 解: (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
= 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
= 8+0+2+1++0+0.25=(11.25)10
十进制数
整数
小数
二进制数
转换方法:
除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 · · · ·
二进制的低位
二进制的高位
转换结果: (121)10=(1111001)2
练习2:将(256)
2 2 2 2 2 256 128 64 32 16 2 8 2 4 2 2
10
转换成二进制数
余数 · · · · · · · 0 · · · · · · · · · · · 0 · · · · · · · · · · · 0 · · · · · · · · · · · 0
解: (1101.01)2 = 1 23 + 1 22 + 0 21 + 1 20 + 0 2-1 + 1 2 = 8+4+0+1++0+0.25=(13.25)
10 -2
二进制数使用的数码少,只有0和1,用电器元件的状 态来表示既方便有可靠,在计算机内部存储和运算中 使用,运算简单,工作可靠。
二进制数转换成十进制数 十进制数转换成二进制数 八、十六进制数转换成二进制数 二进制数转换成八、十六进制数
将二进制数转换成十进制数,只需 按权展开式做一次十进制运算即可。
例:将二进制数(1011.01)2转换成十进制数
(1011.01)2 = 1 23 + 0 22 + 1 21 + 1 20 + 0 2-1 + 1 2-2
进位计数制
十进制
Hale Waihona Puke 几种常见的进位计数制二进制 八进制
十六进制
各种进数值的转换
作业
进位计数制: 是一种科学的计数方法,它以累计和进位
的方式进行计数,实现了很少的符号表示 大范围数字的目的。
1
2
3
4
5
6
7
8
9
10
11 12 13 14 15 16 17 18
19 20
进 位 计 数 值 的 本 质 特 征
特点: 用八个数码表示——0、1、2、3、4、5、6、7、8
遵循“逢八进一”的规 则
权展开式: 对任何一个n位整数m位小数的八进制数,可表示为:
D=Qn-1 ·8n-1+ Qn-2 ·8n-2+ ··· + Q0 ·80+ Q-1 ·8-1 + ··· + Q-m ·8-m 例:八进制数(317)8代表多大的十进制数? 解: (317)8 = 3 82 + 1 81 + 7 80 = 192+8+7=(207)10 八进制接近十进制,且与二进制转换方便,常用来对 二进制数的“缩写”,如:将(110111001101)2写成 (6715)8,便于对二进制数的表示和记忆。
累计到 10 进位
10进制
累计到 8 进位
8进制
累计到 2 进位
2进制 进位基数
进位基数决定了数的每一位的权限
特点: 用十个数码表示——0、1、2、3、4、5、6、7、8、9
遵循“逢十进一”的规 则
权展开式: 对任意一个n位整数和m位小数的十进制数D,可表示为:
n-1 n-2 0 -1 D = D · 10 + D · 10 + · · · + D · 10 + D · 10 + · · · + D · 10 n-1 n-2 0 -1 -m m
二进制的低位
二进制的高位
转换结果: (45)10=(101101)2
练习
练习1:将(121)
2 121
10
转换成二进制数
2
2 2
60 30
15 2 7 2 3 2 1 0
余数 · · · · · · · 1 · · · · · · · · · · · 0 · · · · · · · · · · · 0 · · · · · · · · · · · 1 · · · · · · · 1 · · · · · · · · · · · 1 · · · · · · · · · · · 1 · · · ·