python中1.0是浮点数还是整数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中1.0是浮点数还是整数相关的知识,希望对你有一定的参考价值。

参考技术A 1.0是浮点数。
浮点数,是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学计数法。
在浮点加减运算时,尾数求和的结果也可以得到01.ф?ф或10.ф?ф,即两符号位不等,这在定点加减法运算中称为溢出,是不允许的。但在浮点运算中,它表明尾数求和结果的绝对值大于1,向左破坏了规格化。此时将运算结果右移以实现规格化表示,称为向右规格化。规则是尾数右移1位,阶码加1。当尾数不是1.M时需向左规格化。

python 除法

在python-2中

>>2/5
0
>>2.0/5
0.4
>>2/5.0
0.4
>>2.0/5.0
0.4
#整数除以整数,结果为整数(商)

  

>>5/2
2
>>7/2
3

浮点数与整数相除:

假设x除以y,x可能是整数,也可能是浮点数;y可能是整数,也可能是浮点数。

不管是除数还是被除数,只要是一个数是浮点数,结果就是浮点数。

>>10.0/3
3.3333333333335
>>0.1+0.2
0.3000000000004
>>0.1+0.1-0.2
0.0
>>0.1+0.1+0.1-0.3
5.551115123125783e-17

出现上述问题的原因是:电脑用的是二进制,我们输入的是十进制,转化的时候出现错误

解决方法是启用模块(类、类库)

启用方法:1.import+空格+模块名

                  2.from+空格+大模块+空格+import+空格+子模块

余数

在python中用%符号取得两数相除的余数

>>>5%2
1
>>>6%4
2
>>>5.0%2
1.0

四舍五入

用内建函数-round()

>>>round(1.2345,2)
1.23
>>>round(10.0/3,4)
3.3333


>>>round(1.2345,3)
1.234  #应该是1.235
>>>round(2.235,2)
2.23    #应该是2.24

问题仍然是十进制转二进制引起的。

以上是关于python中1.0是浮点数还是整数的主要内容,如果未能解决你的问题,请参考以下文章

如何检查数字是浮点数还是整数?

python 除法

python // 和 / 的区别是啥?

小数表达式的n项之和应该是浮点数时是整数

python在true和false直接进行数值运算的时候,啥情况下得出的结果是浮点数

python浮点数是啥意思