数据表示与运算
- 进位计数制
- 2/8/16
- 2B
- 16H 0X
- 10D
- 10 —2^n
- 除留余法
- 10–2
- 将2的n次方列出来,然后快速的表示,例如260 = 256 + 4
- 直值:符合人类习惯的数字
- 机器数:数字实际存到机器里的形式,符号数字化
BCD码
- 每四个bit对应一个10进制数字,从而符合人类习惯
- 浪费6个位置
- 8421码
- 5:0101
- 9: 1001
- 加法:5+8 ,落在10-15区间内,加上一个6,向高位进1,从而实现
- 9+9,也是加上6
- 所以区间是 1010 - 10010,非法区间,加6处理
- 其实就是普通二进制,只是。。。4个4个一起而已
- 余3码
- 8421+ 0011(2)
- 无权码
- 2421码
- 0-4 第一位是0,5-9第一位为1
字符与字符串
- ascll码
- 数字、字母、符号 128个字符,2^7来表示,为了凑一个字节,形成8bit
- 32-126 可印刷字符,其余为控制、通信字符
- 48-57 阿拉伯数字 0011 0000 – 0011 1 001 前四个一样,后四个对应8421码
- 65-90 大写字母 0100 0001 – 0101 1010 前三个一样,后五个对应1到26
- 97-122 小写字母 0110 0001 – 0111 1010
- 汉字表示与编码
- GB 2312-80: 80是年份,GB是国标,汉字编码,7445汉字
- 区位码,94个区,每个区94个位置
- 区、位 码
- 很容易于ascll冲突,与0-31的通信字符重合
- GB 2312
- 在80的基础上改,每个都加上了32,与通信字符互不干扰 10H
- 然后为了不与ascll码冲突,所以在第一个字节和第二个字节都加上128 80H
- 计算机读数据,发现小于128,则是英文字符,如果大于128,是汉字字符
- UTF-8
- balabla
- 输入编码:拼音,五笔输入法 (输入)
- 汉字字形码:(输出)像素点,矩阵
- GB 2312-80: 80是年份,GB是国标,汉字编码,7445汉字
- 字符串的存储
- 先存高地址,大端;先存低地址,小端。只是存储数据时是从低往高存的