1、计算机数据表示和数据转换
送入计算机的数字、字母和符号等信息必须转换成0、1组合的二进制形式形式才能被计算机所接收、存储和运算。能够进行计算的数据并且能得出一个明确的数值叫数值数据,其余信息是非数值数据。
1.1 数值数据的表示
数值数据的计数方式是进位制。凡是按进位的方式计数的数制叫做进位计数制,简称进位制。
计算机种比较常用的进制数有十进制、二进制、八进制和十六进制。
概念了解:
-
基数:是指该进位制中所允许选用的数码的个数。例如十进制是10。
-
位权:每一位上权重
1.1.1 十进制
例如:
123
=100+20+3
=1102+2*101+310^0
1.1.2 二进制
-
基数为2的进制叫二进制,只有0和1两种数码,逢二进一。英文缩写BIN(前缀:0b)
-
数据的基本单位:字节(Byte)
-
数据的最小单位:位(Bit)
1KB=1024Byte
1MB=1024KB
1GB=1024MB
1TB=1024GB
(1) 二进制转换成十进制:
例如:0b1010=123+0*22+121+0*20=8+2=10
0b1111=123+1*22+121+1*20=8+4+2+1=15
(2)十进制转换成二进制:
【1】短除法:除以2取余数,逆序排列。
例如:100转换成二进制
100/2=50…0
50/2=25…0
25/2=12…1
12/2=6…0
6/2=3…0
3/2=1…1
1/2=0…1
得出二进制:0b01100100
【2】拆分法:例如 74=64+8+2=26+23+2^1 ==>0b1001010
【3】计算器😆
练习:把十进制200和66转换成二进制,把0b0011110转换成十进制。
1.1.3 八进制
基数为8的进制数叫八进制,码数有:0 1 2 3 4 5 6 7,逢八进一,英文缩写OCT。(前缀:0)
(1)八进制转换成十进制
算法同十进制,例如:
0177=182+7*81+78^0=64+56+7=127
十进制转换成八进制也可以用短除法,或者先转换成二进制再转换成八进制。
(2)二进制转换成八进制
每三位二进制代表一位八进制,因为8=2^3
比如:
二进制:0b111 →八进制:07
二进制:0b1000 →八进制:010
0b110 111 010 → 0672
(3) 八进制转二进制
每一位八进制代表三位二进制,从低位也就是右边开始,如果不满三位则再左边补零。>例如: 026
-
基数:是指该进位制中所允许选用的数码的个数。例如十进制是10。
-
位权:每一位上权重
0b 00010110
1.1.3 十六进制
十六进制码数有:0 1 2 3 4 5 6 7 8 9 A B C D E F,一共有16个数码,逢十六进一,英文缩写HEX。(前缀:0x)
(1) 十六进制转换成十进制
0x4A=416^1+1016*0
=64+10
=74
(2) 二进制转换成十六进制
每四位二进制代表一位十六进制,因为16=2^4
例如:
0b1111→0xF
0b10000→0x10
练习:0b1100 1000 1010 →0xC8A
(3) 十六进制转换二进制
每一位十六进制代表四位二进制,从低位也就是右边开始转换,如果不满四位就在左边补零。
例如:0xA5E1→0b1010010111100001
十六进制转换成八进制就可以通过二进制转换:十六进制→二进制→八进制
1.2 非数值数据的表示
除了数值数据以外的都是非数值数据,例如文字、符号和图像等,最终也要转换成二进制数让机器识别、接收、处理。
1.2.1 字符数据
字符数据主要是指数字、字母、通用符号和控制符号等,在计算机内最终也要转换成机器可以识别的二进制编码的形式。国际上被普遍采用的一种编码是美国国家信息交换标准代码,简称为ASCII。英文全称:American Standard Code for Information Interchange。字符数据用单引号括起来表示。ASCII编码表👇
(1)‘0’、0、“0”和’\0’
各种“0” | 代表含义 |
---|---|
‘0’ | 字符0 |
0 | 数字0 |
“0” | 字符串0 |
‘\0’ | 空字符 |
(2)常用字符
‘\0’ 0 空字符,字符串结束的标志
‘\n’ 10 换行
‘0’ 48 字符0
‘9’ 57 字符9
‘A’ 65 字符大写字母A
‘Z’ 90 字符大写字母Z
‘a’ 97 字符小写字母a
‘z’ 122 字符小写字母z
(3) 转换
‘0’-48=数字0
大写字母+32=小写字母
,字符串结束的标志
‘\n’ 10 换行
‘0’ 48 字符0
‘9’ 57 字符9
‘A’ 65 字符大写字母A
‘Z’ 90 字符大写字母Z
‘a’ 97 字符小写字母a
‘z’ 122 字符小写字母z
(3) 转换
‘0’-48=数字0
大写字母+32=小写字母
小写字母-32=大写字母