Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab IEEE浮点在规范化步骤中使用了多少位?_Matlab_Floating Point_Rounding_Ieee 754 - Fatal编程技术网

Matlab IEEE浮点在规范化步骤中使用了多少位?

Matlab IEEE浮点在规范化步骤中使用了多少位?,matlab,floating-point,rounding,ieee-754,Matlab,Floating Point,Rounding,Ieee 754,例如,使用Matlab。假设我给出一个输入 a=0.1 第一步是将该字符串转换为二进制表示法。在这一步中,语言需要考虑多少位才能进入舍入步骤 有人能就这个问题提出进一步的参考书目吗 考虑双重精度 假设IEEE 754双精度53位。由于0.1无法精确表示,所以在所有52位上设置或取消设置了一个随机的位模式(前导位隐式为1) 假设IEEE 754双精度53位。由于0.1无法精确表示,所以在所有52位上设置或取消设置了一个随机的位模式(前导位隐式为1) 无限多。根据IEEE 754-2008,从十进

例如,使用Matlab。假设我给出一个输入

a=0.1
第一步是将该字符串转换为二进制表示法。在这一步中,语言需要考虑多少位才能进入舍入步骤

有人能就这个问题提出进一步的参考书目吗


考虑双重精度

假设IEEE 754双精度53位。由于0.1无法精确表示,所以在所有52位上设置或取消设置了一个随机的位模式(前导位隐式为1)

假设IEEE 754双精度53位。由于0.1无法精确表示,所以在所有52位上设置或取消设置了一个随机的位模式(前导位隐式为1)

无限多。根据IEEE 754-2008,从十进制字符序列到浮点格式的舍入使用“正确舍入”(第5.12.2条,第3段)。正确的舍入将“无限精确的结果转换为浮点数”(第2.1.12条)

当然,计算机并不是用无限多的位来工作的,但是转换的执行就好像它使用了无限多的位一样。这意味着IEEE 754的正确实现必须使用能够得到正确结果的算法


我不能说Matlab是否符合IEEE 754。

无限多。根据IEEE 754-2008,从十进制字符序列到浮点格式的舍入使用“正确舍入”(第5.12.2条,第3段)。正确的舍入将“无限精确的结果转换为浮点数”(第2.1.12条)

当然,计算机并不是用无限多的位来工作的,但是转换的执行就好像它使用了无限多的位一样。这意味着IEEE 754的正确实现必须使用能够得到正确结果的算法


我不能说Matlab是否符合IEEE 754。

但是计算机应该使用更多的位,否则所有的取整模式都将朝负无穷大方向发展。例如,四舍五入到最近的表示法是1.100110011010,这意味着在最低有效位上加一位。有什么帮助吗?IEEE算法的规则非常复杂,很容易在最后一位出错。但是计算机应该使用更多的位,否则所有的取整模式都将朝负无穷大方向发展。例如,四舍五入到最近的表示法是1.100110011010,这意味着在最低有效位上加一位。有什么帮助吗?IEEE算法的规则非常复杂,很容易在最后一位出错。