在编程语言中,小数通常以浮点数的形式存储。浮点数和定点数是相对的:小数在存储过程中如果小数点发生移动,就称为浮点数;如果小数点不动,就称为定点数。
如果你对浮点数的底层存储格式不了解,请猛击:[小数在内存中是如何存储的,揭秘诺贝尔奖级别的设计(长篇神文)]
[Python]中的小数有两种书写形式:
1) 十进制形式
这种就是我们平时看到的小数形式,例如 34.6、346.0、0.346。
书写小数时必须包含一个小数点,否则会被 Python 当作整数处理。
2) 指数形式
Python 小数的指数形式的写法为:
aEn 或 aen
a 为尾数部分,是一个十进制数;n 为指数部分,是一个十进制整数;E
或e
是固定的字符,用于分割尾数部分和指数部分。整个表达式等价于 a×10n。为了帮助大家在学习python的路上,少走弯路,少掉坑,大家可以去听一位python高手的课程,他每天晚上8点都会在网上有免费的直播课,会讲到python,讲的非常的通俗易懂,而且还很好玩幽默,既能从知识的层面深入浅出,更能从思维的角度让我们认识到python到底应该怎么学习,跟高手学习的最大价值就是,听君一席话,胜读十年书,自学的价值在于,自学大半年,不如别人有高手带着学一天,一年365天,他每天晚上都会讲课的,有喜欢听的同学,可以去他的的卫鑫*(同音):前边一组是:762 ,中间一组是:459 后边一组是:510,把以上三组数字按照先后顺序组合起来即可,她会安排学习的。非常的简单的,牛顿曾经说过,站在别人的肩膀上,才能看的更高更远,海纳百川,去征服python世界的星辰大海吧。
指数形式的小数举例:
- 2.1E5 = 2.1×105,其中 2.1 是尾数,5 是指数。
- 3.7E-2 = 3.7×10-2,其中 3.7 是尾数,-2 是指数。
- 0.5E7 = 0.5×107,其中 0.5 是尾数,7 是指数。
注意,只要写成指数形式就是小数,即使它的最终值看起来像一个整数。例如 14E3 等价于 14000,但 14E3 是一个小数。
Python 只有一种小数类型,就是 float。C语言有两种小数类型,分别是 float 和 double:float 能容纳的小数范围比较小,double 能容纳的小数范围比较大。
【实例】小数在 Python 中的使用:
1. f1 = 12.5
2. print("f1Value: ", f1)
3. print("f1Type: ", type(f1))
5. f2 = 0.34557808421257003
6. print("f2Value: ", f2)
7. print("f2Type: ", type(f2))
9. f3 = 0.0000000000000000000000000847
10. print("f3Value: ", f3)
11. print("f3Type: ", type(f3))
13. f4 = 345679745132456787324523453.45006
14. print("f4Value: ", f4)
15. print("f4Type: ", type(f4))
17. f5 = 12e4
18. print("f5Value: ", f5)
19. print("f5Type: ", type(f5))
21. f6 = 12.3 * 0.1
22. print("f6Value: ", f6)
23. print("f6Type: ", type(f6))
运行结果:
f1Value: 12.5
f1Type: <class ‘float’>
f2Value: 0.34557808421257
f2Type: <class ‘float’>
f3Value: 8.47e-26
f3Type: <class ‘float’>
f4Value: 3.456797451324568e+26
f4Type: <class ‘float’>
f5Value: 120000.0
f5Type: <class ‘float’>
f6Value: 1.2300000000000002
f6Type: <class ‘float’>
从运行结果可以看出,Python 能容纳极小和极大的浮点数。print 在输出浮点数时,会根据浮点数的长度和大小适当的舍去一部分数字,或者采用科学计数法。
f5 的值是 120000,但是它依然是小数类型,而不是整数类型。
让人奇怪的是 f6,12.3*0.1
的计算结果很明显是 1.23,但是 print 的输出却不精确。这是因为小数在内存中是以二进制形式存储的,小数点后面的部分在转换成二进制时很有可能是一串无限循环的数字,无论如何都不能精确表示,所以小数的计算结果一般都是不精确的。
你要不要也来试试,用 Python 测测你和女神的颜值差距(仅供娱乐,请勿联想) 如果真的遇到好的同事,那算你走运,加油,抓紧学到手。
python、爬虫技巧资源分享添加围鑫(同音):762459510
包含python, pythonweb、爬虫、数据分析等Python技巧,以及人工智能、大数据、数据挖掘、自动化办公等的学习方法。
打造从零基础到项目开发上手实战全方位解析!