前言
《计算系统基础》第六章 数据的机器级表示 本章主要介绍计算机内的信息表示方式及其运算:算数运算(6.5)和逻辑运算(6.6),并讲解c语言支持的3中基本数据类型。
本篇对前几篇进行了补充,并介绍ASCII码和浮点数类型。
除前几篇介绍的,C语言还支持很多其他数据类型,它们在计算机中所占字节数时不一样多的。
数据类型 | 字节数 |
---|---|
字符型 char | 1 |
整形 int | 4 |
短整型 short | 2 |
长整型 long | 8(64位字长机器)(在32位字长机器中站4个字节) |
单精度浮点型 float | 4 |
双精度浮点型 double | 8 |
整形
无符号整型
有符号整型
第二种转换方法:可以用来验证
ASCII码
8位 1字节来表示
0 - 9 :48 - 57
a - z :97 - 122
A - Z : 65 - 90
D(a)- D(A) = 32
浮点数
这里只介绍单精度浮点数(float)
补充:
1.二进制定点小数化为十进制数的方法:
2.
类似科学计数法
3.十进制数化为二进制数的方法
整数部分:除2取余
小数部分:乘2取整(上左下右)
标准:
IEEE(国际电气和电子工程师协会)浮点数算数运算标准
需要表示出:
符号 s
指数/阶数 e (exponent)->范围
分数 f (fraction)->精度
另外还定义了正无穷大和负无穷大表示形式、“负零”、处理无效结果(如除以零)的五个异常、表示这些异常的称为 NaNs 的特殊值、表示小于上述数字的非正规数以及四种舍入模式。
规格化
e不全为1,不全为0
bias = 127
E = e - bias
实际精度为24位二进制数
约7位十进制数
非规格化
e = 0
1.f = 0
表示0
2.f不为0
E = -126
e全为1
1.f = 0
无穷大或无穷小
2.f不为0
非数值:NaN
0.0/0.0;0.0×∞;∞/∞;∞-∞
仅仅是一种特殊状态标记
总结