第一章 计算机基础知识-2(数制及编码)解析
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.非数值数据的表示 非数值数据不表示数量的多少,只表示有关符号。 1)字符编码
计算机中的字符按一定的规则用二进制编码表示,一般 用八个二进制位进行编码的,目前最普遍采用的编码是 ASCII(American Standard Code for Information Interchange )即美国信息交换标准代码。这种编码规定:八个二进制 位的最高位为零,余下的七位可进行编码。因此,可表示 128个字符,这其中的95个编码对应着计算机终端能敲入 并可显示的95个字符,另外的33个编码对应着控制字符, 它们不可显示。
浮点数是指小数点在数据中的位置可以左右移动的数 据。通常表示为:
N M.RE
其中,N为浮点数,M为尾数,R为阶的基数,E
为阶码。在计算机中,浮点数通常表示成如下格式:
Ms E
M
为使数据在输入输出时直观,通常采用十进制数表 示,但它是用二进制编码表示的。这种二进制编码的 十进制数比较直观,它的每一位十进制数用四位二进 制编码表示,这种编码称为BCD 码(Binary Coded
1.4.1 常用数制及其相互转换
1. 十进制数
* 特点: 有10个不同的数字(0,1,2,3,4,5,6,7,8,9); 234, 978.5 逢十进一
* 权的概念: 在数位上,每个数位被赋予一定的位值 例如: 在十进制数中,个、十、百、千……各位的权分别为 100 , 101 , 102 , 103 ……
2.数值数据的表示
1) 定点小数
2) 整 数
3) 浮点数 4) 十进制数串
定点小数是指小数点准确固定在符号位之后(隐含),符 号位右边的第一位数是小数的最高位数。一般表示为:
N N s .N 1 N 2 N n
其中,N 为用定点数表示的数,Ns 为符号位,Nn 到 N 1 为数据位,对应的权为 21,22 ,,2n 。若采用n+1个二 进制位表示定点小数,则取值范围为: N 1 2n
“乘2取整”法: 0.8125D=0.1101B
0.8125×2=1.625
1
0.625×2=1.25
1
0.25×2=0.5
0
0.5×2=1.0
1
要注意,一个有限的十进制小数并非一定能够转换 成一个有限的二进制小数,即上述过程中乘积的小数部分 可能永远不等于0,这时,我们可按要求进行到某一精确 度为止。
1.4 计算机各种进制的转换和编码
➢计算机系统中常用的数制有二进制、十进 制、八进制和十六进制;
➢计算机中使用二进制,运算简单,易于通 过物理器件实现0,1状态;
➢十进制是人们最熟悉的数制,但要转换为 二进制才能存入存储器;
➢八进制、十六进制是二进制的简短表示, 也要转换为二进制才能存入存储器。
1.4.1 常用数制及其相互转换 1.4.2 计算机中的数据表示方法 1.4.3 数值数据编码
“除2取余”法(对于要转化的十进制数的整数部 分):
即将一个十进制整数进行除以2和保留余数 的操作,若商不为0,则将商继续除以2和保留余 数,直到商为0时为止。 ➢ 注:先得到的余数为等值二进制数的低位
后得到的余数为等值二进制数的高位
Eg: 把117转换成二进制数
2 117
1
2 58
0
2 29
1
2 14
* 特点: 基本数码0~15 (16个):
0,1,2,3,4,5,6,7,8,9, 10(A),11(B),12(C),13(D),14(E),15(F)
逢十六进一 (FAB.C)16 =F×162+A×161+B×160+C×16-1=(4011.75)10
注:通常用( )下标来表示不同进制的数 Eg:
Decimal)。BCD码有多种,常用的是8421BCD 码
用BCD码表示的十进制数是一个数串形式,但 比 较 直 观 。 如 十 进 制 数 47.8 的 BCD 码 是 : (01000111.1000)
1.4.3 数值数据的编码
数值数据在计算机内用二进制编码表示,常用的原码、反码和补码 。这里仅介绍带符号整数的原码、反码和补码,并设机器字长为8位
4.补码
正数的补码与其原码相同, 负数的补码为其反码在最低位加1 Eg: 机器字长为8位,则-46D补码为:
-46D的反码11010001 补码11010010
所以,【-46】补=D2H
补注:
为了度量信息存储容量,将8位二进制码 (8bits)称为一个字(Byte,简称B)
字节是计算机中数据处理和存储容量的基本 单位
1.机器数与真值
把一个数连同其符号在内在机器中的表示加以数 值化,这样的数称为机器数。而它所代表的实际值称 为机器数的真值。
对于带符号数,在机器中通常用最高位代表符号 位,0表示正,1表示负 2.原码
正数的符号位为0,负数的符号为1,其它位按一 般的方法表示数的绝对值,用这样的表示方法得到的 就是数的原码。
( )10 表示十进制数 ( )2 表示二进制数 此外,在微机中,一般在数字的后面,用特定 的字母表示该数的进制
D(Decimal)---十进制数(D可省略) B(Binary)---二进制数 O(Octal)---八进制数 H(Hexadecimal)---十六进制数
3. 二进制数与十进制数的相互转换
= an×2n + an-1×2n-1 +an-2×2n-2 + …+a0×20 + a-1×2-1 + …+a-m×2-m
八进制数
(同上)
* 特点: 基本数码0~7 (8个) 逢八进一
(175.63)8 =1×82+7×81+5×80+6×8-1+3×8-2=(125.979)10
十六进制数
(同上)
按照GB2312-80的规定,所有收录的汉字及图形符 号组成一个94×94的矩阵,即有94行和94列。这里 每一行称为一个区,每一列称为一个位。因此,它 有94个区(01-94),每个区内有94个位(01-94 )。区码与位码组合在一起称为区位码,它可准确 确定某一汉字或图形符号。如汉字“啊”的区位码 为1601,即它在16区的01位。
* 权的展开式 (978.3)10 =9×102 +7×101 +8×100 +3×10-1
公式: (an an-1 an-2… a0 a-1… a-m )10 = an×10n + an-1×10n-1 +an-2×10n-2 + …+a0×100 + a-1×10-1 + …+a-m×10-m
a i 是0~9这10个数字中的任意一个,m,n为正整数,这里
0
27
1
23
1
1
低位 高位
所以,117D=1110101B
“乘2取整”法(对于要转化的十进制数的小数部分):
一个十进制纯小数转换成二进制纯小数, 采用“乘2取整”法,其方法如下:先用2 乘这个十进制纯小数,然后去掉乘积的整数 部分;用2乘剩下的小数部分,然后再去掉 乘积中的整数部分,如此重复,直到乘积的 小数部分为0或者已得到所要求的精确度为 止。把上面每次乘积的整数部分依次排列起 来,就是所要求的二进制小数。
注:八进制数与十进制数互相转换的 方法和二进制数与十进制数互相转换的 方法相仿。
5.二进制与十六进制之间的转换
十六进制数的基数为16,有16个数字: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,并且是“逢十六进一”。
由于24 =16, 一位十六进制数相当于四位二 进制数,所以不难得出十六进制数与二进制数 之间相互转换的方法。十六进制转换成二进制 可用“一位变四位”的方法 ;二进制转换成 十六进制可采用四位变一位的方法
1KB=1024B
(1024个字节称为1K字节)
Hale Waihona Puke 1MB=1024KB1GB=1024MB
1TB=1024GB
1.5 计算机病毒及其防治
1.5.1计算机病毒的定义和特点
1).什么是计算机病毒
计算机病毒是一种具有自我繁殖能力的指令代码。计算机 病毒侵入计算机系统后,会破坏计算机的正常运行,破坏 计算机中的数据,并且通过自我复制和数据共享的手段传
1)二进制数转换成十进制数
把一个二进制数转换成十进制数,只需将二 进制数按权展开求和即可,称为“乘权求和”法 。 例1.1 把(1101.011)转换成十进制数。
解:根据“乘权求和”法可得: (1101.011)
123 122 021 120 021 122 123 13.375
2)十进制整数转换成二进制整数
的10被称为基数,它是相邻数位的权之比。各数位的权是基数 10的整数次幂。
2. 二进制数
* 特点:
只有两个数字0和1 逢二进一,各位权为2k
* 二进制权的展开式 (101101.101)2=1×25 + 0×24 + 1×23 + 1× 22 +
0×21 +1×20 + 1×2-1 + 0×2-2 + 1×2-3 = (45.625)10 公式: (an an-1 an-2… a0 a-1… a-m )2
Eg: -1110B 原码11110B +101011B原码0101011B
3.反码
❖正数的反码与其原码相同, ❖负数的反码为其原码除符号位外的各位按位取反(即 是0的改为1,是1的改为0)。
Eg: 设机器字长为8,-12的反码为 -12的原码为10001100B 反码为11110011B
所以,【 -12D 】反=11110011B=F3H
⑴二进制转换为八进制:
××××××××. ×××××
➢整数部分从右向左每3位为一组 ➢小数部分从左向右每3位为一组 ➢不足3位者用0补足,将三位二进制数用 一位相应的八进制数取代
Eg: (10110101110.11011)2=( )8
0 10110101110.11011 0
2 656
66
(10110101110.11011)2=( 2656.66)8
从ASCII码表中可看到,码值0到31及127所对应的是控 制字符,码值32对应的是表中第一个可显示符——空格, 数字符0的码值为48,大写字母A的码值为65(0100 0001) ,小写字母a的码值为97(0110 0001)。
2)汉字编码
对于汉字,在计算机中通常用两个字节编码表示。 我国制定了“中华人民共和国国家标准信息交换汉 字编码”,简称国标码,代号“GB2312-80”。该编 码集中收录了汉字和图形符号7445个,其中一级汉 字3755个,二级汉字3008个,图形符号682个。
⑴二进制转换为十六进制:
Eg: (1 0 1 0 0 1 0 1 0 1 1 1 . 1 1 0 1 1 0 1 0 1)2
A
5
7
D
A
8
=(A57.DA8)16
⑵十六进制转换为二进制:
Eg: (8FA2.171)16=( )2 8 F A 2.1 7 1
1000 1111 1010 0010 0001 0111 0001
如果一个十进制数既有整数部分,又有小数部分, 则可将整数部分和小数部分分别进行转换,然后再把两 部分结果合并起来。
4.二进制与八进制之间的转换
由于二进制数的特点,计算机中采用了二进制数。但 是,一个数值用二进制表示,所需位数较多,造成读 写不便。为此,在有关计算机的讨论中,人们还经常 使用八进制数和十六进制数。八进制数的基数为8, 有8个数字:0,1…,7,并且是“逢八进一”。 由于八进制数的基数8是二进制数的基数2的3次幂 ,所以一位八进制数相当于三位二进制数。这样使得 八进制数与二进制数的相互转换十分方便。
1.4.2 计算机中数据的表示方法
计算机中可直接表示和使用的数据分为两大类, 即数值数据和非数值数据。其中非数值数据又称符号 数据。
数值数据用来表示数量的多少,它包括定点小数、 整数、浮点数和十进制数串四种类型。它们通常都带 有表示数值正负的符号位。
而符号数据则用于表示一些符号标记。如英文字 母、数字、标点符号、运算符号、汉字、图形、语言 信息等等。由于在计算机中,这些数据都是用二进制 编码的,所以,这里提到的数据的表示,实质上是它 们在计算机中的组成格式和编码方法。
⑵ 八进制转换为二进制:
八进制数转换成二进制数时,只要将八进制数的 每一位改成等值的三位二进数即“一位变三位”。
(6237.431)8=( )2 6 2 3 7.4 3 1
110 010 011 111 100 011 001 (6237.431)8=(110010011111.100011001)2
染给其它的程序。
计算机病毒具有以下的三大特性: