数据编码
数值数据的表示
| 进制 | 基本元素 | 进位 | 例子 |
|---|---|---|---|
| 二进制 | 0、1 | 满2进1 | "1010"表示为10进制10 |
| 八进制 | 0、1、…、7 | 满8进1 | "12"表示为10进制的10 |
| 十进制 | 0、1、…、9 | 满10进1 | |
| 十六进制 | 0、1、…、9、A、B、…、F(字母小写也可以) A、B、…、F依次代表10、11、…、15 | 满16进1 | "a"表示10进制10 |
浮点数
二进制表示
计算机内部使用原码表示无符号0和无符号正整数,补码表示有符号整数
原码
直接用0和1的组合表示0和正整数
由于原码里没有符号位,所以不能表示负数
反码
将原码的每位取反操作
例如:原码为1010,反码为0101
补码
为了表示负数,并便于进行算术运算,对有符号整数采用补码表示
补码的最高bit用来表示正负:0—正数,1—负数
正数的补码和他源码相同,
负数的补码是对其正整值取反加1。
例如:
txt
用8bit举例:
正整数10,二进制补码表示为:0000 1010
对于整数-10,二进制表示为:1111 0110
`-10`的补码计算流程如下:
1. -10的正整数部分为10
2. 10的原码为 `0000 1010`,
3. 对应的反码为`1111 0101`,
4. 再加1,得到的补码为`1111 0110`数据长度
字节
一个8位组(8bit)叫一个字节。其最高位是第7位,最低位是第0位。
通常情况下,存储器按字节编址。
字
2个字节一组叫字
双字
4个字节一组叫双字
四字
8个字节一组叫四字
ASCII


可见字符范围
(31, 127]