C语言9-浮点型数据类型
上一章我们学了整数型,整数型可以用来表示整数,那小数怎么表示呢?
我们先用整数型来表示一下小数试试。
1 | #include<stdio.h> |
我们发现打印后a=11,b=0,小数部分丢失了。这时候我们就要用新类型来存放小数。
在C语言中小数用浮点型来表示。
我们将整数型int替换为浮点型float再试试。
注意!浮点型的占位符不是%d而是%f
1 | #include<stdio.h> |
可以看见小数被成功表示了,但是float并不能表示所有的小数,例如123.12345就会被打印为123.123444(可以自己试试)。
浮点数并不能表示无限精确,它会存在误差。
在C语言中float可以表示6位有效数字。
在表示123.12345时只有6位是准确的也就是123.123后面的就不准确了,存在误差。
要表示更高精度的浮点数我们就要将float替换成更高级的double。
现在我们用double来表示一下float不能表示的123.12345。
1 | #include<stdio.h> |
可以看见123.12345正确的被打印了。
现在我们用上一章的sizeof关键字来测试一下浮点型所占字节的情况。
1 | #include<stdio.h> |
可以得出float占4字节,double占8字节。
评论