python的浮点数占多少位(2023年最新整理)

2023-03-07 16:56:35 22 0
卡卡

导读:今天恰卡编程网来给各位分享关于python的浮点数占多少位的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

python的浮点数运算是不是精度有问题阿

再计算机的硬件中,浮点数以二进制小数表示。比如小数

python的浮点数占多少位(2023年最新整理)

[python] view plain copy

0.125

可看做1/10+2/100+5/1000,同样的方式二进制小数

[python] view plain copy

0.001

可看做0/2+0/4+1/8。

这两个小数实际的值是相同的,唯一的不同是0.125是十进制表示,0.001是二进制表示。可是不幸的是,多数的十进制小数不能用二进制小数准确的表示。通常,你输入的十进制浮点数只能由存储在机器中的二进制浮点数近似表示。无论你使用多少位二进制数字,十进制的0.1都不能准确的由二进制小数表示,其是无限重复的小数

[python] view plain copy

0.0001100110011001100110011001100110011001100110011...

在一个运行python的典型计算机中,一个浮点数具有53位的精度,所以十进制的0.1在内部会以如下形式存储

[python] view plain copy

0.00011001100110011001100110011001100110011001100110011010

实际中,我们很容易忘记存储的数据是原始十进制的的近似表示。Python只会显示出以二进制形式存储再计算机中的真正十进制数的近似数。如

[python] view plain copy

0.1000000000000000055511151231257827021181583404541015625

其中的多数位数都不会被人使用到,所以python只显示它的四舍五入后的值

[python] view plain copy

0.1

在实际中有很多这样的例子可以说明:

[python] view plain copy

 0.1 + 0.2

0.30000000000000004

[python] view plain copy

 round(2.675, 2)

2.67

可以使用decimal模块,可以看到准确的浮点数的值。

[python] view plain copy

 from decimal import Decimal

 Decimal(2.675)

Decimal('2.67499999999999982236431605997495353221893310546875')

python数据类型有哪些

Python基本数据类型一般分为:数字、字符串、列表、元组、字典、集合这六种基本数据类型。

其中数字又包含整型(整型又包括标准整型、长整型(Python2.7及之前版本有))、浮点型、复数类型、布尔型(布尔型就是只有两个值的整型)、这几种数字类型。列表、元组、字符串都是序列。

1、数字

数字类型是不可更改的对象。对变量改变数字值就是生成/创建新的对象。Python支持多种数字类型:

整型(标准整型和长整型(Python2.7及之前的有这种类型))、布尔型、双精度浮点型、十进制浮点型、复数。

2、标准整型

int,标准整型,在大多数32位机器上标准整型取值范围是-2^31到2^31-1,也就是-2147483648~2147483647,如果在64位机器使用64位编译器,那么这个系统的标准整型将是64位。

3、布尔型

bool,从Python2.3开始Python中添加了布尔类型。布尔类型有两种True和False。对于没有__nozero__方法的对象默认是True。

对于值为0的数字、空集(空列表、空元组、空字典等)在Python中的布尔类型中都是False。

 bool(1)

True

 bool('a')

True

 bool(0)

False

 bool('')

False

4、浮点型

float,每个浮点型占8个字节(64位),完全遵守IEEE754号规范(52M/11E/1S),其中52个位用于表示底,11个位用于表示指数(可表示的范围大约是±10**308.25),剩下的一个位表示符号。这看上去相当完美,然而,实际精度依赖于机器架构和创建Python解释器的编译器。

浮点型值通常都有一个小数点和一个可选的后缀e(大写或小写,表示科学计数法)。在e和指数之间可以用正(+)或负(-)表示指数的正负(正数的话可以省略符号)。

以上是Python核心编程的对浮点型(双精度浮点型)的说明。经过Python实测浮点型默认长度是24字节如果超出这个范围会自动

5、复数类型

complex,在复数中虚数不能单独存在,它们总是和一个值为0.0的实数部分一起来构成一个复数。复数由实数部分和虚数部分构成。表示虚数的语法:real+imagj。

实数部分和虚数部分都是浮点型。虚数部分必须有后缀j或J。

python 双精度浮点数用什么表示

Python原生浮点数类型只有一种,叫float,大小为24个字节(我这里Python3.6是这样,别的版本不清楚),本身就是双精度(你打个特别长的小数,最后它会给你截止到15-16位有效数字,这是双精度浮点数的典型特征),不论你是多短的浮点数都是如此

Python和别的语言不一样,每个变量都是对象,而对象里有各种杂七杂八的属性方法,所以内存占用比其他语言大得多

如果希望内存占用更小,而有用单精度的需求,建议使用numpy等第三方库,可以提供对变量类型大小的控制。

结语:以上就是恰卡编程网为大家整理的关于python的浮点数占多少位的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于python的浮点数占多少位的相关内容别忘了在本站进行查找喔。

收藏
分享
海报
0 条评论
22
上一篇:python需要学多久(2023年最新整理) 下一篇:python全栈工程师工资多少

本站已关闭游客评论,请登录或者注册后再评论吧~

忘记密码?

图形验证码