C语言中的数据类型
数据类型表不同类型数据占用的内存大小不同
- int 整型, C标准未规定, 系统相关
- 目前大多数系统上占4个字节
- short int, 简写为short
- 短整型, 2个字节
- long int, 简写为long
- 长整型, 4个字节
- unsigned, 无符号整型(正整数和0)
- 用来修饰int, short, long
- float
- 单精度实型, 4个字节
- double
- 双精度实型, 8个字节
- long double
- 长双精度实型, IEEE规定10个字节, 系统相关
- 大多数编译器并未按照IEEE标准,一般默认和double等价占8个字节
- char
- 字符型, 1个字节
计算变量或类型占内存的大小
- 用sizeof 运算符
-
一元运算符
语法
sizeof(int) 计算整型占用内存空间的字节数
不同数据类型的表数范围
image.png不同类型数据的存储形式不同
image.png-
定点数
-
定点小数(纯小数) ------ 小数点位于符号位和最高数值位之间
定点小数 -
定点整数 ------- 小数点位于数值位的最低位
定点整数
-
-
浮点数
小数点的位置不固定
一般使用科学计数法表示
image.png
浮点数实现小数点位置可浮动的主要原因
- 将实数拆分成了阶码和尾数
-
对与同样的尾数, 阶码的值越大, 则浮点数所表示的数值的绝对值越大
image.png
浮点数与定点数
1.计算机为什么采用浮点数而非定点数来表示实数?
- 因为浮点数可以表示的范围更大,而且更加的方便;
2.浮点数是实数的精确表示吗?
- 浮点数不是实数的精确表示,所以我们在使用浮点数的时候要注意浮点数的误差值,以及误差值的累积;
3.既然浮点数相对于整数能够表示更大的数,那么是否可以用浮点数取代整数呢?
- 不可以用浮点数取代整数,用浮点数取代整数会占用更多的内存空间。
网友评论