对于 IEEE,单一表示是 1 位符号、8 位指数和 23 位尾数。这意味着在每个指数值处,您可以测试所有 2^23-1(大约 900 万例)二进制表示(给或取)的可能组合。然后对所有的指数值(255个值)做,基本可以覆盖IEEE代表的所有浮点数。
但是,对于双精度,这种方法实际上并不可行。使用 52 位尾数,在每个指数值处,您需要测试 2^52-1 个二进制组合(大约为 400 亿,~E15)。
这似乎表明您需要一些随机化方案来测试您的算术实现是否具有高概率。但是我们知道使用哪种方案吗?考虑浮点数的分布方式(即更多地围绕某个值/零并置)是否也有益?