如何确定 32 位 IEEE 浮点值中的集合 S 中有多少个整数 [重复]

2024-03-06

有人能给我解释一下它到底在说什么吗?我知道这基本上意味着它是单精度,具有 1 位符号、8 位指数和 23 位尾数。答案不应该是 2 * 2^8-2 * 2^23 吗?

编辑:2 * 2^8-2 * 2^23 是否确定所有 32 位 IEEE 浮点值


The finite positive floating-point numbers range from 2-149 (the smallest subnormal) to 2128-2104 (the number with the largest exponent for finite values and a significand of all one bits). We can group them into three categories:

  • 小于 1 的值。其中零是整数。
  • The values from 1 to 224-1. Some of these are integers, and some are not. However, every integer in this range is in the set of floating-point numbers, because they have at most 24 significant bits and are therefore representable with 24-bit significands. Therefore, the floating-point numbers have 224-1 integers in this interval.
  • The values from 224 and up. All of these are integers, because the least significant position in their significands represents at least 1. This range contains all floating point numbers with exponents (of two) from 24 to 127 and every allowed significand. The significands are all those starting with “1.” and followed by any 23 bits, so there are 223 significands. Therefore, there are (127-24+1)•223 of these numbers.

The total for positive integers is 0 + 224-1 + (127-24+1)*223. The number of negative integers is the same, and 0 adds one more, so the grand total is 1,778,384,895.

(一旦我们找到了这个数字,它就会为我们提供一个搜索键来查找重复的问题。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何确定 32 位 IEEE 浮点值中的集合 S 中有多少个整数 [重复] 的相关文章

  • 如何翻转双精度数的指数(例如 1e300->1e-300)?

    我有兴趣编写一个快速的 C 程序来翻转双精度数的指数 例如 该程序应将 1e300 转换为 1e 300 我想最好的方法是一些位运算 但我缺乏足够的知识来实现 这一点 有什么好主意吗 假设您要对小数指数求负 则科学记数法中十次方的指数 in
  • JavaScript 中是否存在整数类型?

    我刚刚开始学习 Javascript 我立即对 Mozilla 中看似矛盾的陈述感到困惑JavaScript 重新介绍 JS 教程 https developer mozilla org en US docs Web JavaScript
  • MySQL 存储浮点数

    我正在尝试保存这么长的浮点数 13 00386644742523 它基本上是 Lat 和 Lng 值 当我将它保存在数据库中时 它被存储为 13 0039 您应该明确使用精度并且类型应该是DECIMAL NOT FLOAT因为小数点后的每一
  • 为什么某些 float < integer 比较比其他比较慢四倍?

    将浮点数与整数进行比较时 某些值对的计算时间比类似大小的其他值要长得多 例如 gt gt gt import timeit gt gt gt timeit timeit 562949953420000 7 lt 56294995342100
  • 为什么多次相加0.1仍然无损?

    我知道0 1十进制数不能用有限的二进制数精确表示 解释 http www exploringbinary com why 0 point 1 does not exist in floating point so double n 0 1会
  • 整数与 int 比较

    我是新来的java 我现在正在学习非原始整数类型java 我知道以下比较无效并引发编译错误 String str c Char chr c if str chr return true 上面的代码片段给了我 Test java lineNu
  • 是否可以强制浮点数的指数或有效数匹配另一个浮点数(Python)?

    这是我前几天试图解决的一个有趣的问题 是否可以强制一个的有效数或指数float与另一个人一样float在Python中 出现这个问题是因为我试图重新调整一些数据 以便最小值和最大值与另一个数据集匹配 然而 我重新调整后的数据略有偏差 大约小
  • 在c#中打印0.1的增量

    我目前正在阅读 Steve McConnell 的 Code Complete 特别是第 295 页有关浮点数的内容 当我运行以下代码时 double nominal 1 0 double sum 0 0 for int i 0 i lt
  • 最Pythonic的方式来打印*最多*一些小数位[重复]

    这个问题在这里已经有答案了 我想格式化浮点数列表 最多保留 2 位小数 但是 我不需要尾随零 也不想要尾随小数点 所以 举例来说 4 001 gt 4 4 797 gt 4 8 8 992 gt 8 99 13 577 gt 13 58 T
  • 如何打印前面有一定数量空格的整数?

    C has printf Xd Y 它只打印整数 X 并使其在控制台窗口上占据 Y 空格 例如 printf 3d 10 console 10 printf 5d 5 console 5 我如何在 python 3 中使用它 This pr
  • JavaScript 中的 ParseFloat 函数

    当我添加两个文本框值时1 001 and 0 001然后我做了一个parseFloat I get 1 0019999999 我要它1 002 你能帮助我吗 JavaScriptNumber http www w3schools com j
  • 如何在fortran 90中生成[0,5]范围内的整数随机数?

    我对 Fortran 编程有点陌生 任何人都可以帮我解决问题吗 我在生成整数随机数时遇到问题 在 Fortran 随机数范围 0 5 中使用 random seed 和 rand 为了支持answer https stackoverflow
  • 将 String 转换为 byte,然后转换为 int

    我发现了很多关于这个主题的问题 但我无法解决我的问题 用户将输入一个名字String我需要将其转换为List
  • C++ 编码整数除法

    我的代码运行了 但对于经销商来说 我需要 80 作为总成本的数字 并将其中的 80 取出 我使用 80 100 并得到收集的总成本乘以该数字 但它显示 0 include
  • 如果我的编译器不支持 C 或 C++ 中的 128 位整数加法和减法?

    我正在为 128 位数字的长流编写一个压缩器 我想将数字存储为差异 仅存储数字之间的差异而不是数字本身 因为我可以将差异打包在更少的字节中 因为它们更小 然而 为了压缩 我需要减去这些 128 位值 为了解压缩 我需要添加这些值 我的编译器
  • 压缩一组大整数

    我有一组整数 我希望对其有最紧凑的表示 我有以下限制 功能 它被设置 或者换句话说 一个唯一整数的列表 其中顺序并不重要 集合L的大小相对较小 通常为1000个元素 整数遵循 0 到 N 1 之间的均匀分布 其中 N 相对较大 例如 2 3
  • 如果是整数,则使用 sprintf 格式化没有小数位的浮点数

    最初 我使用 sprintf 和始终保留 2 位小数的浮点数 使用以下代码 static void MyFunc char buffer const float percentage sprintf buffer 2f percentage
  • Kotlin 中 Float 和 Double 类型的最小值和最大值

    找出确切的内容很简单min and max值Int and LongKotlin 中的整数 有符号 32 位整数 Int MIN VALUE 2147483648 Int MAX VALUE 2147483647 有符号 64 位整数 Lo
  • 如何从 cpp_dec_float_50 转换为 cpp_int?关于一般的浮点数?

    我的基本目标是减去两个应该相等的浮点数 考虑一下 float x 1 float a x 30 x 40 float b x 30 b x 40 std cout lt
  • 为什么 Go 中只有 int 而没有 float?

    在 Go 中 有这样的类型int这可能相当于int32 or int64取决于系统架构 我可以声明一个整数变量而不用担心它的大小 var x int 为什么没有这个类型float 这相当于float32 or float64取决于我的系统架

随机推荐