数值型数据的表示和转换

1.数制

应用最广泛的是十进制。

(N)10 = Dm10m+Dm-110m-1+...+D0100+D-110-1+...+D-k*10-k =$\sum_{i=m}^n Di10^i$,(n=-k)

(N)10的下标10表示十进制,称为基数或“底”;这个数共有m+k+1位,且m和k为正整数;Di是0~9中任意一个,与其相乘的固定单位值10i,称之为权。

计算机中十进制的存储和运算都不太方便,因此采用二进制

(N)2 = Dm2m+Dm-12m-1+...+D020+D-12-1+...+D-k*12-k =$\sum_{i=m}^n Di2^i$ ,(n=-k)

整数部分m+1位,小数k位,基数/底为2。

对机器来说二进制很方便,但对万物之灵的人来说很不方便,因此常采用八进制十六进制

$\sum_{i=m}^n Di8^i $ ,(n=-k) Di是0~7的任意一个数。

$\sum_{i=m}^n Di16^i $ ,(n=-k) Di是0~15的任意一个数。大于9 的数用ABCDEF表示。

二、八、十、十六进制数的对应关系。

二进制数 八进制数 十进制数 十六进制数
0000 00 0 0
0001 01 1 1
0010 02 2 2
0011 03 3 3
0100 04 4 4
0101 05 5 5
0110 06 6 6
0111 07 7 7
1000 10 8 8
1001 11 9 9
1010 12 10 A
1011 13 11 B
1100 14 12 C
1101 15 13 D
1110 16 14 E
1111 17 15 F

2.不同进制数的转换

2.1 二转八、十六

三个二进制数可转换成一个八进制数,四个二进制数可转换为一个十六进制数。

对于一个有整数和小数部分的数,以小数点为界分别处理,不足位补0,整数左补0,小数右补0.

(1 101.010 1)2=(1 5 . 2 4)8

(1 1101.0101)2=(1 D.5)16

八、十六——>二就是上述过程的逆过程,八<——>十六,可以二进制为中间量转换。

2.2二转十

(N)2 = Dm2m+Dm-12m-1+...+D020+D-12-1+...+D-k*12-k =$\sum_{i=m}^n Di2^i$ ,(n=-k)

用此公式。

十——>二:

整数部分:除2取余

在这里插入图片描述

小数部分:乘2取整

在这里插入图片描述

整数部分和小数部分分别转换后再拼接,如(105.3125)10=(1101001.0101)2

3.数据符号的表示

0表+,即正号,1表-,即负号。

3.1十进制编码与运算

采用4位二进制码对每个十进制编码。

(1)有权码

8421BCD码。0000~1001表示1-9。

修正BCD码算术运算:若相加小于等于9,不需修正;若大于9,加6,并向高位进位。

在这里插入图片描述

(2)无权码

每一位二进制码无确定的权。

余3码

在8421基础上,加0011。

格雷码/循环码。

两相邻编码只有一个二进制位不同,其余3个相同。

3.2数字串在计算机内的表示和存储

字符形式

一个字节放一个数字及正负号的ASCII码。

压缩BCD码。

一个字节放俩十进制数。

posted @ 2020-11-19 23:23  鱼大鹿  阅读(525)  评论(0编辑  收藏  举报