这项工作一点都不小!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转换为整数的最安全方法?相关推荐

  1. python字符串转整数_如何在Python中将字符串转换为整数

    Python中的所有数据类型(包括整数和字符串)都是对象.通常在编写Python代码时,您需要将一种数据类型转换为另一种数据类型.例如,要对表示为字符串的数字进行数学运算,需要将其转换为整数. 在本教 ...

  2. python字符串转换成整数_在Python中将字符串转换为整数的方法

    在本文中,我们将向你展示如何将Python字符串转换为整数,可在Linux操作平台上进行.Python中的所有数据类型(包括整数和字符串)都是对象,通常在编写Python代码时,你需要将一种数据类型转 ...

  3. 在Python中将列表转换为字典的10种方法

    Python数据结构 (Python Data Structures) Python lists and dictionaries are two data structures in Python ...

  4. java中true转换为int_在Java中将字节转换为int的最优雅的方式

    示例代码: int a = 255; byte b = (byte) a; int c = b & 0xff; // Here be dragons System.out.println(a) ...

  5. python日期转换为整数_如何在python中将datetime转换为整数

    这取决于整数应该编码什么.您可以将日期从以前的某个时间转换为毫秒数.人们通常在1970年1月1日或1900年1月1日上午12:00时开始测量,并以整数毫秒为单位测量时间.datetime模块(或其他类 ...

  6. python把浮点数转换成16进制_delphi 浮点数float转换成十六进制字符串的方法(FloatToHex)...

    重新书写了float型转为十六进制的delphi程序 Function FloatToHex(Value: single): string; var l, i: integer; HexText,te ...

  7. python中float到意义_float可以在Python中使用的值范围是多少?

    6 个答案: 答案 0 :(得分:64) >>> import sys >>> sys.float_info sys.floatinfo(max=1.7976931 ...

  8. python输入float_float是什么意思_在python中 float是什么意思?

    "float"是什么意思? float 英 [fləʊt] 美 [flot] n. 彩车,花车:漂流物:浮舟:浮萍 vi. 浮动:飘动,散播:摇摆:付诸实施 vt. 使漂浮:实行 ...

  9. python计算学习_跟老齐学Python之用Python计算

    一提到计算机,当然现在更多人把她叫做电脑,这两个词都是指computer.不管什么,只要提到她,普遍都会想到她能够比较快地做加减乘除,甚至乘方开方等.乃至于,有的人在口语中区分不开计算机和计算器. 那 ...

  10. python是一种解释类型的编程语言-Python入门你要懂哪些?这篇文章总算讲清楚了...

    原标题:Python入门你要懂哪些?这篇文章总算讲清楚了 作者 | 小土豆Yuki 来源 | 洁癖是一只狗(ID: rookie-dog) 从今天开始学习Python,今后会不定期更新Python的相 ...

最新文章

  1. 怎么在ASP.NET中写HTML,如何:在 ASP.NET 网页中设置控件的 HTML 属性
  2. HarmonyOS之深入解析设备标识符的功能和使用
  3. 【算法导论】学习笔记——第16章 贪心算法
  4. [ 人机交互 ] 第三次作业 2015080360025秦嘉颍
  5. Angular list列表绑定的一个例子
  6. Tomcat 7 'javax.el.ELException' 的解决方式(failed to parse the expression [${xxx}])
  7. libSVM介绍(二)
  8. ConcurrentHashMap 源码
  9. 迈足狂奔!铁塔公司:目前北京已建好4400多座大型5G基站
  10. 什么是Spring什么是SpringMVC?
  11. 数组的冒泡排序快速上手
  12. Riverbed“不再只是一家广域网优化公司”
  13. Vijos——T 1016 北京2008的挂钟 || 洛谷—— P1213 时钟
  14. 【SVM回归预测】基于matlab布谷鸟算法优化SVM回归预测【含Matlab源码 1422期】
  15. 【C++STL库】stack常用函数学习
  16. CSRF跨站请求伪造漏洞修复
  17. Mac:如何配置java和maven环境变量
  18. java-IOC(控制反转) 理论推导
  19. 2021/5/12爬虫第十一次课(ajax、selenium、Phantomjs)
  20. Python学海无涯路【第01回】初始Python

热门文章

  1. Context 使用不当造成内存泄露
  2. objective-c中@autoreleasepool的用法
  3. 如何参加GoToMeeting在线会议
  4. 初步解决网同客户端升级后局域网不能上网的问题
  5. 用HashAlgorithm來加强數據的保險程度。
  6. Java 基于UDP 实现单播、组播、广播 Socket 编程
  7. STC学习:八位数码管+流水灯
  8. 南阳oj-----n-1位数(多解法汇总)
  9. 现金支票打印模板excel_好用的支票打印软件
  10. 大学生免费查题公众号_诺奖作家英文作品赏析尔雅2020年答案查题公众号