百分位
bǎi fēn wèi
百分位是小数点后第二位的位值,表示一百等份中的一份。
Formula
1 \text{ hundredth} = \frac{1}{100} = 0.01
Definition
百分位是小数点后的第二位:一个百分之一($0.01$)表示$100$等份中的$1$份,货币自然而然地使用百分位,一美分就是一美元的百分之一。形式上,百分位表示一个数字乘以$10^{-2} = 0.01$;金融金额通常四舍五入到最接近的百分位(最接近的一分钱),由于百分数被定义为每$100$份中的比率,百分位是百分数的自然小数表示形式。在浮点算术中,数字并不是以无限精度存储的,所以计算机中的"百分位"实际上是二进制近似值,因为$\$0.01$在二进制中是不能终止的展开,这会导致金融软件中舍入误差的累积。
Example
$0.47$表示$47$个百分之一,即$47/100$:47美分是一美元的$47$个百分之一($\$0.47$),这也是$47\%$,因为"百分之"(per cent)字面意思就是"每一百中"。$0.63 = 60/100 + 3/100 = 63/100 = 63\%$,要把$3.478$四舍五入到最接近的百分位,看千分位数字($8 \ge 5$),进位得$3.48$。在IEEE 754双精度中,$0.1 + 0.2 = 0.30000000000000004$,而不是$0.3$,因为$0.1$和$0.2$在二进制中都是不能终止的展开;金融软件因此改用十进制算术库,或把分数以整数分储存,以避免这个问题。
Key Insight
百分位和百分数其实是同一回事:$47$个百分之一($0.47$)与$47$个百分点($47\%$)相同,这并非巧合,第二位小数字面上就是"每百之一"的位置,这使得小数和百分数之间的换算就像移动两位小数点那样简单。二进制浮点数在百分位上的不精确性,是金融系统完全避免使用浮点数的一个实际原因;"爱国者导弹漏洞"(1991年)正是由毫秒级的浮点时间累积误差导致的,是十进制/二进制位值不匹配在现实世界中的一个后果。