首页 > 其他分享 >十万个为什么 [浮点数] 浮点数的表示

十万个为什么 [浮点数] 浮点数的表示

时间:2024-08-10 10:49:56浏览次数:10  
标签:24 为什么 十万个 23 32 浮点数 floatbits 127

// 32位浮点数 s(符号1位)eeeeeeee(指数8位)mmmmmmmmmmmmmmmmmmmmmmm(位数23位)
// 64位浮点数 s(符号1位)eeeeeeeeeeee(指数12位)mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm(位数53位)
// 32位浮点数公式是  s?(-1):(1) *  (1.mmmmmmmmmmmmmmmmmmmmmmm) ^ (eeeeeeee - 127)
// 64位浮点数公式是  s?(-1):(1) *  (1.mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm) ^ (eeeeeeeeeeee - 1023)

// 以32位举例, 1.0f 为 00111111100000000000000000000000
-- 求64位浮点数的尾数

-- number of bits in the mantissa of a floating-point number
local floatbits = 24
do
    local p = 2.0 ^ floatbits
    while p < p + 1.0 do
        p = p * 2.0
        floatbits = floatbits + 1
    end
end
/*
对于32位浮点数
右边 是 左边+1
e-127 = 00: 00111111100000000000000000000000    01000000000000000000000000000000
e-127 = 01: 01000000000000000000000000000000    01000000010000000000000000000000
e-127 = 02: 01000000100000000000000000000000    01000000101000000000000000000000
e-127 = 03: 01000001000000000000000000000000    01000001000100000000000000000000
e-127 = 04: 01000001100000000000000000000000    01000001100010000000000000000000
e-127 = 05: 01000010000000000000000000000000    01000010000001000000000000000000
e-127 = 06: 01000010100000000000000000000000    01000010100000100000000000000000
e-127 = 07: 01000011000000000000000000000000    01000011000000010000000000000000
e-127 = 08: 01000011100000000000000000000000    01000011100000001000000000000000
e-127 = 09: 01000100000000000000000000000000    01000100000000000100000000000000
e-127 = 10: 01000100100000000000000000000000    01000100100000000010000000000000
e-127 = 11: 01000101000000000000000000000000    01000101000000000001000000000000
e-127 = 12: 01000101100000000000000000000000    01000101100000000000100000000000
e-127 = 13: 01000110000000000000000000000000    01000110000000000000010000000000
e-127 = 14: 01000110100000000000000000000000    01000110100000000000001000000000
e-127 = 15: 01000111000000000000000000000000    01000111000000000000000100000000
e-127 = 16: 01000111100000000000000000000000    01000111100000000000000010000000
e-127 = 17: 01001000000000000000000000000000    01001000000000000000000001000000
e-127 = 18: 01001000100000000000000000000000    01001000100000000000000000100000
e-127 = 19: 01001001000000000000000000000000    01001001000000000000000000010000
e-127 = 20: 01001001100000000000000000000000    01001001100000000000000000001000
e-127 = 21: 01001010000000000000000000000000    01001010000000000000000000000100
e-127 = 22: 01001010100000000000000000000000    01001010100000000000000000000010
e-127 = 23: 01001011000000000000000000000000    01001011000000000000000000000001
e-127 = 24: 01001011100000000000000000000000    01001011100000000000000000000000
e-127 = 25: 01001100000000000000000000000000    01001100000000000000000000000000
e-127 = 26: 01001100100000000000000000000000    01001100100000000000000000000000
e-127 = 27: 01001101000000000000000000000000    01001101000000000000000000000000
e-127 = 28: 01001101100000000000000000000000    01001101100000000000000000000000
e-127 = 29: 01001110000000000000000000000000    01001110000000000000000000000000
e-127 = 30: 01001110100000000000000000000000    01001110100000000000000000000000
e-127 = 31: 11001111000000000000000000000000    11001111000000000000000000000000

可见 2^23 也 就是 e-127 = 24时 左边 == 右边
*/

 

标签:24,为什么,十万个,23,32,浮点数,floatbits,127
From: https://www.cnblogs.com/kehuadong/p/18352039

相关文章

  • 为什么要用数据库管理系统?5个你不得不知道的理由
    你是否曾经想过,为什么几乎所有的企业和组织都在使用数据库管理系统(DBMS)?为什么不直接使用文件系统来存储和管理数据呢?如果你有这样的疑问,那么这篇文章正是为你而写。在接下来的内容中,我们将深入探讨使用数据库管理系统的5个关键原因,这些原因将彻底改变你对数据管理的......
  • 从vimdiff get命令为什么不是dg看vim cmd解析
    intro当使用vimdiff来获取另外一个文件的diff内容时,在Ex模式下使用的是diffget,但是在normal模式下对应的cmd却不是对应的dg而是另一个do(diffobtain),这个都少有些意外。单单的对于"为什么vim使用do而不是dg命令来获得diff?"这个问题,其实在vim的“do”帮助文档中已经明确说明:[......
  • 为什么 True/False 在 Python 中要大写?
    所有成员都是骆驼案吧?为什么True/False而不是true/false,哪个更宽松?在Python中,True和False使用大写而不是小写,这与语言的禅宗(设计原则)和它们在Python中的特殊地位有关。让我们来分析一下:1.特殊地位:在Python中,True和False......
  • 为什么我选择ScreenToGif?看看它的这些亮点就知道了!
    前言在这个快节奏的数字时代,每一刻的精彩都值得被永久珍藏;当你精心策划的创意方案在屏幕上跃然生辉,或是游戏中的神来之笔让人拍案叫绝,你是否渴望能有一种魔法,让这些瞬间不仅仅是过往云烟,而是能够随时回放、分享给世界的璀璨宝石?小江湖今天要揭秘的,就是这样一款能够捕捉时间魔......
  • 为什么点击鼠标后屏幕上没有出现 X?
    我想实现程序在按下鼠标的位置将“X”传送到屏幕上的功能。然而,一旦我运行该程序,什么也没有出现。take_turn函数将值存储在二维数组中,并将鼠标单击的位置存储在名为“positions”的列表中。然后,在主游戏循环中,应将X放置在通过位置列表迭代的所有位置中。我应该如何修改我的代......
  • 微调 为什么要用 Fine-Tuning 来表示
    Fine和Tuning这两个单词结合在一起构成了“Fine-tuning”,用于描述深度学习中的“微调”过程。下面是这两个单词的具体中文含义,以及为什么它们适合用来描述这个概念。Fine的中文含义细致的、精细的、优良的:这个词表示某种事物的质量或精度很高,强调精确度和细微的调整。......
  • 「Android面试」Android 子线程为什么直接更新UI?
    本文将从子线程不能更新UI的直接原因、根本原因、Android如何做到限制以及子线程该如何正确更新UI四个方向回答问题。【直接原因】在子线程中更新UI会怎样?程序会出现以下错误:Onlytheoriginalthreadthatcreatedaviewhierarchycantouchitsviews. 【根本原因......
  • 如何进行 API 管理?为什么 Apifox 是管理 API 的推荐方案?
    本文来聊聊API管理这个话题。在当今这个互联互通的网络里,API就像是不同软件系统之间的"翻译官",让它们能够相互交流、共享数据。想象一下,如果没有API,我们的应用程序就像是孤岛,无法获取外部的信息和服务。所以说,API的重要性怎么强调都不为过!但是,随着API数量的激增和复杂度的......
  • 为什么 Python NewType 与 isinstance 和 type 不兼容?
    这似乎不起作用:fromtypingimportNewTypeMyStr=NewType("MyStr",str)x=MyStr("HelloWorld")isinstance(x,MyStr)我什至没有得到False,但是TypeError:isinstance()arg2mustbeatypeortupleoftypes因为MyStr是一个函数......
  • 尝试更新 GridDB 中的列,但无法弄清楚为什么它没有更新
    我正在尝试使用Python客户端更新GridDB容器中的数据。我已经设置了环境并编写了以下代码来执行更新。更新操作似乎不起作用,因为数据保持不变。关于我在这里可能做错了什么有什么想法吗?这是我正在阅读的文档:https://docs.griddb.net/gettingstarted/python/impor......