跳转至

数据编码


数值数据的表示

进制 基本元素 进位 例子
二进制 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和无符号正整数,
补码表示有符号整数

原码

直接用01的组合表示0和正整数
由于原码里没有符号位,所以不能表示负数

反码

将原码的每位取反操作
例如:原码为1010,反码为0101

补码

为了表示负数,并便于进行算术运算,对有符号整数采用补码表示
补码的最高bit用来表示正负:0—正数,1—负数
正数的补码和他源码相同,
负数的补码是对其正整值取反加1
例如:

Text Only
1
2
3
4
5
6
7
8
用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]