-
2.1 数据的表示方法
2.11 c语言中基本数据类型的存储
类型 | 描述 | 所占字节数 | 举例 |
int | 有符号整数 | 4 | 0,82,-77,0xAB87 |
unsigned | 无符号整数 | 4 | 0,8,37 |
long | 长整形整数 | 8 | 4279999 |
float | 单精度浮点数 | 4 | 3.2,-7.9e-10 |
double | 双精度浮点数 | 8 | 1.3e100 |
char | 字符或符号 | 1 | ‘x’,'F','?' |
2.12 定点数的表示
- 机器数:数据在计算机中的表示形式
- 定点数:机器数中的小数点的位置是固定的。按照小数点的位置不同,可分为定点整数和定点小数
- 原码:原码的数值等于真值。原码的符号位‘0’表示整数,‘1’表示负数。
定点数原码的最大值和最小值在数轴上是对称的。 - 反码:解决(+0)和(-0)不同原码以及计算器只能进行加法而无法进行减法而产生的的概念(个人理解)
正数的补码等于它本身的原码,负数的补码=符号位不变+其余位按位取反(~) - 补码:解决(+0)和(-0)不同原码而产生的的概念(个人理解)
正数的补码等于它本身的原码,负数的补码=末位+1 - 移码:比较器只能比较两个无符号数,因此产生移码这一概念解决比较负数的问题
符号位按位取反,其余位不动。
2.13 浮点数的表示
- 浮点数的表示形式
N=M×(B^E) - 浮点数的表示范围
N的特点:- N的符号由尾数M的符号位决定
- N的精度是由尾数M的位数决定的,M的位数越多,N的精度越高
- N的范围是由阶码E的位数决定的,E的位数越多,N的表示范围越大
- IEEE-754格式
S:符号位,表示浮点数为正或为负符号位s 阶码E 尾数M
E:阶码,E=e+Bias,Bias是一个偏移量,若阶码占n位,则偏移量=2(n-1)-1
M:尾数,实际保存中 ,只存储实际尾数小数点后的数据