Floating point 将1添加到MIPS中的浮点数不会';你不改号码吗?

Floating point 将1添加到MIPS中的浮点数不会';你不改号码吗?,floating-point,mips,computer-architecture,Floating Point,Mips,Computer Architecture,在计算机体系结构的CS作业中,我遇到了这个有趣的问题。我的教授想让我们找到一个单精度和一个双精度的数字,这样当你给它们中的任何一个加1时,数字就不会改变。为什么这是有意义的,我怎样才能找到这些数字 谢谢 请记住,浮点数的精度有限(它们可以跟踪的有效位数)。对于单精度浮点,约为7位,对于双精度浮点,约为16位 还请记住,浮点数的范围可以超过3 x 10^38-因此,显然并非所有数字都是有效的。请记住,浮点数的精度有限(它们可以跟踪的有效数字的数量)。对于单精度浮点,约为7位,对于双精度浮点,约为1

在计算机体系结构的CS作业中,我遇到了这个有趣的问题。我的教授想让我们找到一个单精度和一个双精度的数字,这样当你给它们中的任何一个加1时,数字就不会改变。为什么这是有意义的,我怎样才能找到这些数字


谢谢

请记住,浮点数的精度有限(它们可以跟踪的有效位数)。对于单精度浮点,约为7位,对于双精度浮点,约为16位


还请记住,浮点数的范围可以超过3 x 10^38-因此,显然并非所有数字都是有效的。

请记住,浮点数的精度有限(它们可以跟踪的有效数字的数量)。对于单精度浮点,约为7位,对于双精度浮点,约为16位


还请记住,浮点数的范围可以超过3 x 10^38-因此,显然并非所有数字都是有效的。

浮点数数学基于二进制(基数2)数字系统。这里的许多答案都涉及十进制(以10为基数)上下文中的精度和值。这导致(例如)不同浮点格式的最小值和最大值具有奇怪的值

单精度尾数中的24(1隐含+23显式)位转换为24位二进制数字的精度。设置最高位的最低24位数字为2^23,转换为800000十六进制或8388608十进制(七位有效十进制数字)。设置最高位的最高数字为2^24-1,转换为ffffff十六进制或16777215(八位有效十进制数字)。现在你知道了“7-8位精度”的来源了。我个人认为二进制解释解释解释得很清楚,而十进制解释往往会产生更多的问题

如果你浏览这个论坛,你会发现一些帖子显示,对于某些值,“7-8位精度”的说法是不正确的。如果你的背景知识完全是十进制的,你会想知道是什么打动了你

指数为零(偏差移除),隐式位(set)和显式位清除后,值将为1.00000000000000000000000*2^0或1.0十进制。如果指数为1,则值将为1.00000000000000000000000*2^1或2.0十进制

设置尾数中的最低位意味着向1.0*2^指数添加一个等于2^(指数-23)的值。23来自尾数中的最低位是隐式位右侧的23个位置,即比定义为2^指数的隐式位小2的23次幂


这应该会让你对如何解决原始问题有所了解。

浮点数学是基于二进制(基数2)数字系统的。这里的许多答案都涉及十进制(以10为基数)上下文中的精度和值。这导致(例如)不同浮点格式的最小值和最大值具有奇怪的值

单精度尾数中的24(1隐含+23显式)位转换为24位二进制数字的精度。设置最高位的最低24位数字为2^23,转换为800000十六进制或8388608十进制(七位有效十进制数字)。设置最高位的最高数字为2^24-1,转换为ffffff十六进制或16777215(八位有效十进制数字)。现在你知道了“7-8位精度”的来源了。我个人认为二进制解释解释解释得很清楚,而十进制解释往往会产生更多的问题

如果你浏览这个论坛,你会发现一些帖子显示,对于某些值,“7-8位精度”的说法是不正确的。如果你的背景知识完全是十进制的,你会想知道是什么打动了你

指数为零(偏差移除),隐式位(set)和显式位清除后,值将为1.00000000000000000000000*2^0或1.0十进制。如果指数为1,则值将为1.00000000000000000000000*2^1或2.0十进制

设置尾数中的最低位意味着向1.0*2^指数添加一个等于2^(指数-23)的值。23来自尾数中的最低位是隐式位右侧的23个位置,即比定义为2^指数的隐式位小2的23次幂


这应该会让您了解如何解决原始问题。

什么是浮点格式?您必须知道浮点数在内存中是如何表示的,以及各部分的含义。那么很容易找到这样的数字。读。什么浮点格式?您必须知道浮点数在内存中是如何表示的,以及各部分的含义。然后很容易找到这样的数字。阅读。我知道,对于单精度,有1个符号位,后面是8个指数位,然后是22个分数位。但是我怎样才能用它来找到号码呢?@roboguy12:我认为你不必关心那么多细节。想一想,当你在处理只有3个有效数字的数十亿数字时,加上1到2340000000,会发生什么。如果只保留3个有效数字,会发生什么情况?@roboguy12:对于单精度,它是一个符号+八个指数+二十四个尾数=总共33位。由于尾数是左调整的,所以最左边的位总是1,当数字存储在内存中的4字节/32位位置时可以省略。我知道,对于单精度,有1个符号位,后面是8个指数位,然后是22个分数位。但是我怎样才能用它来找到数字呢?@roboguy12:我认为你不必担心o级