精度是小数点前后总共的位数,标度才是小数点后面的位数,单精度与双精度的意思是说精确到小数点后几位数。不要被字面意思搞混淆。
大体上可以用有效数字的位数衡量,不管小数点前或后,从左边数第一个不是0的数字开始,有多少个数字能精确表示的意思
比如假设有某个实数类型,它的精度能分辨7位10进制的有效数字,那么
123456789和123456700就分辨不出区别了,只能分辨出左边起7个数字,如果比较这两个数字的话,它们是相等的
0.000123456789和0.0001234567也分辨不出区别
精度越高能分辨的有效数字越多
35.4如果要精确表示,那么精度至少要3位有效数字,0.0012只要2位有效数字,1.0012要5位有效数字
如果一个变量类型,精度能表示7位有效数字,那么它们3个赋值进这个变量都不会失真
如果一个变量类型,只能表示3位有效数字,那么1.0012赋值进去后,再读出来就会变成1.00
以上都是举的例子,精度大体上就是这个意思,具体计算机中因为都是
2进制衡量的,如果说某个变量类型能精确表示多少位有效数字,换成10进制的话,这个位数很可能是个小数