python浮点数可以不带小数吗_Python浮点数(小数)
浮点数简单来说就是实数,也叫小数,不同于整数,其带有小数部分。浮点数广泛用于统计和科学计算上。
现实生活中,我们经常说的一个半小时,其应该用 1.5 个小时来表示。所有浮点数自然存在于生活中,并且广泛存在生活中。
所有的浮点数都是近似的。
>>> 1.2 * 6
7.199999999999999
>>> 1.2 * 6 == 7.2 # 它们居然不相等
False
所以比较两个浮点数是否相等需要用 abs(a-b)<1e-5 来判断。
>>> a = 1.2 * 6
>>> abs(a-7.2) < 1e-5
True
至于为何浮点数不同于整数,其值可以认为都是近似值呢?这与采用的进制有关。如在十进制中,三分之一(1/3)就是无法准确表示的,只能近似等于 0.333333。但是这个数在三进制中就可以准确表示为 0.1。同样的情况也发生在二进制中,如十进制中的 0.1 在二进制中就不能准确表示。
下面以浮点数 10.5 为例介绍浮点数的表示法。浮点数一般分为两部分,整数部分和小数部分。整数部分的表示法和整数的二进制表示法相同,如 10 用二进制数表示就是 1010。
10 = 8+2 = 23+21 = 0b1010
小数部分每位的权重依次是 2−1、2−2、2−3、2−4,所以 0.5 就可以表示为 0.1。
所以 10.5 用二进制数表示为 0b1010.1 = 0b1.0101*23。这就是标准的浮点数表示法,其包括数值部分 0b1.0101 和指数 3。数值部分大于或等于 1 而且小于 2。
如果用十六进制表示就是
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
