计算机中的数制.docx
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机中的数制
在数字计算机中,每个数字和字符都是由一系列的电脉冲信号表示的。在计算机中电路有脉
冲时表示“ 1 ”,否则表示“0”。因此,可以用一连串的“0 ”、“ 1 ”代码来表示数字和
字符,这样表示的数据容易移动和存储。
一、数制
1.基本概念
表示数的方法称为数制。通常人们习惯以十进制来计量事物,但在生活中也使用其他的数字
系统。例如:月与年使用12 进制来计算。
十进制是我们最熟悉的进制,以十进制为例介绍数制的相关概念。
(1)数码:十进制有 0~9 十个数字符号组成, 0~9 这些数字符号称为“数码”。
(2)基数:全部数码的个数称“基数”,十进制的基数为10 。
(3)计数原则:“逢十进一”。即用“逢基数进位”的原则计数,称为进位计数制。
(4)位权:数码所处位置的计数单位为位权,位权的大小以基数为底。例如,十进制的个位
的位权是 100 ,十位上的位权为101 ,百位上的位权为102 ,以此类推。而在小数点后第1位上的位权为10-1 。由此可见,各位上的位权值是基数10 的若干次幂。
例如,十进制数234.13用位权表示为:
常用计数制的基数、位权和数字符号如表 1 所示。
表 1 常用数制的基数、位权和数字符号
数制十进制二进制八进制十六进制
基数102816
位权10i2i8i16i
数字符号 0~90,10~70~9,A,B,C,D,E,F
2.计算机常用数制
计算机能够直接识别的只有二进制数。这意味着它处理的数字、字符、图形、图像、声音等
信息,都是以 1 和 0 组成的二进制数的某种编码。
在计算机中采用二进制数是因为:
·二进制数易于表示。二进制数只用0 和 1 两个不同的数码,所以具有两个稳定状态的元件均可用来表示二进制数。如开关的通、断;电路电平的高、低等。
·二进制数运算规则简单。简单的运算规则,会使运算器的运算控制容易实现。
·二进制数适于逻辑运算。二进制数中只有 1 和 0 ,可代表逻辑代数中的真和假。
由于二进制在表达数字时,位数太长,不易识别,书写麻烦。因此,在编写计算机程序时,
经常应用到八进制、十进制、十六进制,其目的是简化二进制的表示。
(1)常用数制的表示方法
常用数制的表示方法如表 2 所示。
表 2 常用数制的表示方法
十进制二进制八进制十六进制十进制二进制八进制十六进制
000081000 108
111191001 119
21022101010 12A
31133111011 13B
410044121100 14C
510155131101 15D
611066141110 16E
711177151111 17F
(2)书写规则
为了区别各种数制,在数字后面加写相应的英文字母标识或在括号外加数字下标。表示方法如表 3 所示。
其中在括号外加数字下标的方法更直观。一般约定十进制数的后缀或下标可以省略。
表 3 常用数制的书写规则
数制字母字母示例数字下示例
二制 B101B(101)2
八制 O267O(267)8
十制 D123D(123)10
十六制 H103H(103)16
二、数制
1.r 制十制
基数 r 的数字,只要将各位数字与它的相乘,然后按照逢十位的算法求和,即可将其成十制数。
方法:按位展开并求和。(ai 第 i 位上的数, r 基数)
(a n⋯ a 1a0.a-1⋯a -m )r=a n×r n + ⋯+a 1×r1 +a 0×r 0+a -1×r -1 + ⋯+a -m×r-m
【例 1 】 (11011.1011)2=1×24+1×23+0×22+1×21+1×20+1×2-1+0×2-2+1×2-3+1×2-4
=16+8+2+1+0.5+0.125+0.0625
=(27.6875)10
【例 2 】 (576.5)8 =5×82+7×81+6×80+5×8-1
=320+56+6+0.625
=(382.625)10
【例 3 】 (1B2A.5)16=1×163+11×162+2×161+10×160+5×16-1
=4096+2816+32+10+0.31
=(6954.31)10
2.十进制转换为r 进制
将十进制数转换为r 进制数,可将整数部分与小数部分分别转换,然后相加。方法:整数部分:整数除以r ,取余数,余数倒排序。
小数部分:小数乘以r,取整数,整数正排序。
【例 4 】将十进制数62.75 转换为二进制数(小数部分保留 3 位)。
求整数部分:
(62)10 = (111110)2
求小数部分:
【例 5 】将十进制数62 转换为八进制数。
【例 6 】将十进制数62 转换为十六进制数。