我想对以 3 个浮点变量作为输入并返回其中最大变量的程序执行边界值分析。没有指定范围,因此我将范围强加为 no 所暗示的范围。用于存储浮点变量的字节数,在我的例子中是 4 个字节。因此,我的浮动范围变为 -3.4+38 到 +3.4+38
问题是:在边界值中检查这些点:说你的范围是:1<= x <= 10,你需要检查的点是:{1、2、9、10}
在我的浮点示例中,我无法理解哪个值刚好高于 -3.4+38,哪个值刚好低于 +3.4e+38。有人在这里帮忙。我没有得到这个浮动表示。
我想对以 3 个浮点变量作为输入并返回其中最大变量的程序执行边界值分析。没有指定范围,因此我将范围强加为 no 所暗示的范围。用于存储浮点变量的字节数,在我的例子中是 4 个字节。因此,我的浮动范围变为 -3.4+38 到 +3.4+38
问题是:在边界值中检查这些点:说你的范围是:1<= x <= 10,你需要检查的点是:{1、2、9、10}
在我的浮点示例中,我无法理解哪个值刚好高于 -3.4+38,哪个值刚好低于 +3.4e+38。有人在这里帮忙。我没有得到这个浮动表示。
让我们假设您正在使用 C 进行编程。任何其他高级语言都应该将这些概念映射到类似的符号。
上面的float
值-3.4e+38f
是nextafterf(-3.4e+38f, 0)
。下面的float
值3.4e+38f
是nextafterf(3.4e+38f, 0)
,如果您觉得更清楚,也可以将其计算为与前一个相反的值。
如果您没有函数,也可以通过分别键入-3.399999749e+38
和来获得这些常量。3.399999749e+38
nextafterf
请注意,这3.4e+38f
不是最大的float
,只是它的粗略近似值(和 3.4+38,或大约 41.4,甚至更小)。