python把float可以转变成int_在Python中将float转换为整数的最安全方法?
这项工作一点都不小!IEEE浮点表示的一个属性是int∘floor=⌊⋅⌋,如果所讨论的数字的大小足够小,但是int(floor(2.3))可能为1的情况下,可能会有不同的表示形式。
这篇文章解释了为什么它可以在这个范围内工作。
在double中,您可以毫无问题地表示32位整数。有不能是任何四舍五入问题。更精确地,双精度数可以表示253和-253之间(包括253和-253)的所有整数。
简短说明:一个double最多可以存储53个二进制数字。当您需要更多时,该数字将在右边填充零。
由此可见,53个数字是无需填充即可存储的最大数字。自然,所有需要较少数字的(整数)数字都可以准确存储。
将111加1(省略)111(53个)将产生100 ... 000,(53个零)。众所周知,我们可以存储53位数字,即最右边的零填充。
这是2 53的来源。
详细信息:我们需要考虑IEEE-754浮点如何工作。
1bit11/852/23# bits double/single precision[sign|exponent|mantissa]
然后,该数字的计算方式如下(不包括此处无关的特殊情况):
-1 号 ×1.尾数×2 指数-偏差
其中偏压= 2 指数- 1 1 -分别,即,1023和127,用于双/单精度。
明知乘以2 X根本改变所有位X位的左侧,可以很容易地看到,任何整数必须具备的所有位尾数为此右上小数点零。
除零以外的任何整数都具有以下二进制形式:
1x ... x,其中x -es表示MSB右侧的位(最高有效位)。
因为我们排除了零,所以总会有一个MSB为1,这就是为什么不存储它的原因。要存储整数,我们必须将其转换为上述形式:-1 符号 ×1.尾数×2 指数偏差。
就是说,将这些位移到小数点后直到只有MSB朝MSB的左侧移动。然后,小数点右边的所有位都存储在尾数中。
由此可见,除MSB外,我们最多可以存储52个二进制数字。
因此,显式存储所有位的最高编号为
111(omitted)111.that's 53 ones (52 + implicit 1) in the case of doubles.
为此,我们需要设置指数,以使小数点后移52位。如果我们将指数增加一,我们将无法知道小数点后左边的数字。
111(omitted)111x.
按照惯例,它是0。将整个尾数设置为零,我们收到以下数字:
100(omitted)00x.=100(omitted)000.
这是一个1,后跟53个零,已存储52个,并且由于指数而加了1。
它代表2 53,它标志着我们可以准确表示所有整数的边界(负向和正向)。如果要将1加到2 53,则必须将隐式零(由表示x)设置为1,但这是不可能的。
python把float可以转变成int_在Python中将float转换为整数的最安全方法?相关推荐
- python字符串转整数_如何在Python中将字符串转换为整数
Python中的所有数据类型(包括整数和字符串)都是对象.通常在编写Python代码时,您需要将一种数据类型转换为另一种数据类型.例如,要对表示为字符串的数字进行数学运算,需要将其转换为整数. 在本教 ...
- python字符串转换成整数_在Python中将字符串转换为整数的方法
在本文中,我们将向你展示如何将Python字符串转换为整数,可在Linux操作平台上进行.Python中的所有数据类型(包括整数和字符串)都是对象,通常在编写Python代码时,你需要将一种数据类型转 ...
- 在Python中将列表转换为字典的10种方法
Python数据结构 (Python Data Structures) Python lists and dictionaries are two data structures in Python ...
- java中true转换为int_在Java中将字节转换为int的最优雅的方式
示例代码: int a = 255; byte b = (byte) a; int c = b & 0xff; // Here be dragons System.out.println(a) ...
- python日期转换为整数_如何在python中将datetime转换为整数
这取决于整数应该编码什么.您可以将日期从以前的某个时间转换为毫秒数.人们通常在1970年1月1日或1900年1月1日上午12:00时开始测量,并以整数毫秒为单位测量时间.datetime模块(或其他类 ...
- python把浮点数转换成16进制_delphi 浮点数float转换成十六进制字符串的方法(FloatToHex)...
重新书写了float型转为十六进制的delphi程序 Function FloatToHex(Value: single): string; var l, i: integer; HexText,te ...
- python中float到意义_float可以在Python中使用的值范围是多少?
6 个答案: 答案 0 :(得分:64) >>> import sys >>> sys.float_info sys.floatinfo(max=1.7976931 ...
- python输入float_float是什么意思_在python中 float是什么意思?
"float"是什么意思? float 英 [fləʊt] 美 [flot] n. 彩车,花车:漂流物:浮舟:浮萍 vi. 浮动:飘动,散播:摇摆:付诸实施 vt. 使漂浮:实行 ...
- python计算学习_跟老齐学Python之用Python计算
一提到计算机,当然现在更多人把她叫做电脑,这两个词都是指computer.不管什么,只要提到她,普遍都会想到她能够比较快地做加减乘除,甚至乘方开方等.乃至于,有的人在口语中区分不开计算机和计算器. 那 ...
- python是一种解释类型的编程语言-Python入门你要懂哪些?这篇文章总算讲清楚了...
原标题:Python入门你要懂哪些?这篇文章总算讲清楚了 作者 | 小土豆Yuki 来源 | 洁癖是一只狗(ID: rookie-dog) 从今天开始学习Python,今后会不定期更新Python的相 ...
最新文章
- 怎么在ASP.NET中写HTML,如何:在 ASP.NET 网页中设置控件的 HTML 属性
- HarmonyOS之深入解析设备标识符的功能和使用
- 【算法导论】学习笔记——第16章 贪心算法
- [ 人机交互 ] 第三次作业 2015080360025秦嘉颍
- Angular list列表绑定的一个例子
- Tomcat 7 'javax.el.ELException' 的解决方式(failed to parse the expression [${xxx}])
- libSVM介绍(二)
- ConcurrentHashMap 源码
- 迈足狂奔!铁塔公司:目前北京已建好4400多座大型5G基站
- 什么是Spring什么是SpringMVC?
- 数组的冒泡排序快速上手
- Riverbed“不再只是一家广域网优化公司”
- Vijos——T 1016 北京2008的挂钟 || 洛谷—— P1213 时钟
- 【SVM回归预测】基于matlab布谷鸟算法优化SVM回归预测【含Matlab源码 1422期】
- 【C++STL库】stack常用函数学习
- CSRF跨站请求伪造漏洞修复
- Mac:如何配置java和maven环境变量
- java-IOC(控制反转) 理论推导
- 2021/5/12爬虫第十一次课(ajax、selenium、Phantomjs)
- Python学海无涯路【第01回】初始Python