总结归纳计算机编程中的各种数据类型,其表示形式和计算方法。重点关注类型转换、数值溢出和移位等操作
计算机编程中的数据类型主要有 整型 浮点型 字符型
整型
表示形式
int -------有符号整型-------4字节
unsigned int -------无符号整型-------4字节
short int -------短整型 -------2字节
unsigned short int -------无符号短整型-------2字节
long int -------长整型-------(大多认为4字节)
unsigned long int -------无符号长整型-------(大多认为4字节)
计算方法
1类型转换
同类型之间的转换,转换后类型不变,有符号和无符号之间,转换后为无符号
2数值溢出
出现数值溢出时,对于有符号数,输出实际计算结果;对于无符号数,输出 输出结果与该型数据所能表示整型数的个数进行模运算的结果
3移位运算
无符号数—左移,相当于乘2;右移,相当于除2。
有符号数-符号位不参与-正数,左移右移均填补0;负数左移填补0,右移填补1。
浮点型
表示形式
float单精度型-------4字节
double双精度型--------8字节
N=±S×R±e
(S为尾数,代表N的有效数字;R为基值,通常取2、8、16;e为阶码,代表N的小数点的实际位置,相当于数学中的指数;)
规格化
为了提高精度需要使尾数的有效位数尽可能占满可用的位数。这种措施称为浮点数的规格化。1/2≤|S|<1,若S=SfS₁S₂S₃S₄S₅…Sn(Sf为符号位),则满足S₁=1的数为规格化数。
IEEE754浮点数标准
浮点数的表示范围
非规格化
规格化
上溢区为溢出,下溢区为0。
计算方法
1类型转换
当操作数有浮点型数据时,均会转换成double类型进行运算。
2数值溢出
溢出就是超出了机器数所能表示的数据范围,浮点数的范围是由阶码决定的。当运算阶码大于最大阶码时,即上溢;当运算阶码小于最小负阶码时,即下溢,计算机按0处理。
3移位运算
无意义
4加减乘除运算
(1)对阶
(2)尾数乘除
(3)结果格式化
(4)舍入处理
(5)溢出处理
字符型
表示形式
char----1字节
计算方法
均转换为int型进行计算。