如何将106十进制数转换为9位浮点数,其中msb是带有4位指数和4位尾数的符号?可能吗?十进制浮点数9位
十进制浮点数9位
回答
每通过OP注释,所讨论的浮点格式遵循IEEE-754规范,所以它使用与隐式整数位尾数表示,并且具有最小的指数编码一个偏置指数为零和非正规数和所保留的最大的指数编码保留给infinities和NaNs。
106(十进制)= 1.10101 * 2 (二进制)。在所提出的IEEE型九比特浮点格式中,指数偏差为7.归一化操作数的大小为2 -6≤| x | 。因此,106是描述范围自2 = 256
然而,106是不能表示准确,因为它需要五个分数尾数位,而只有四个由所提出的格式提供内。使用舍入到最接近或者偶数的最接近的可表示的数字是1.1010 * 2 = 104.其二进制编码是0_1101_1010。
我想你想要2^8 = 256(所以'106' *是*在可表示的范围内,虽然在舍入之前实际上不能表示)。而106是'1.10101 * 2^6',而不是'1.10101 * 2^8'。 –
@MarkDickinson:你说得对,不知道我是怎么弄错的,除了我在第一杯咖啡前发布的。我马上解决这个问题。 – njuffa
是的,对于其他优秀答案的挑剔表示歉意。 (我已经upvoted。) –
- 1. 十进制浮点数
- 2. 十六进制浮点数
- 3. 将十进制值转换为32位浮点十六进制
- 4. Lua - 十六进制浮点数
- 5. 浮点数字 - SAS十进制问题
- 6. 十进制到半精度浮点数
- 7. 从十进制转换为浮点数
- 8. 从十六进制到浮点数 - Javascript
- 9. 将二进制浮点数转换为十六进制浮点数
- 10. Float24(24位浮点数)为十六进制?
- 11. 用十进制数表示的二进制浮点数
- 12. 将IEEE浮点十六进制转换为十进制?
- 13. 将十进制浮点数转换为二进制并返回
- 14. 将十进制浮点数转换为二进制
- 15. 十六进制浮点舍入
- 16. C#浮点十进制转换
- 17. 十六进制字符串与浮点数浮动
- 18. 浮点十六进制八进制二进制
- 19. Python如何将十六进制浮点数转换为十进制
- 20. 什么是9位二进制到十进制的转换?
- 21. 不正确指数(?)从十进制表示转换浮子32位二进制(IEEE 754浮点)时
- 22. 如何在C程序中将十进制数转换为64位浮点数?
- 23. 恶蟒十进制/浮
- 24. C#:用浮点数乘以十进制数?
- 25. 从Prolog获取浮点数的十进制数
- 26. 在SQL Server 2008中将浮点数转换为十进制数
- 27. 浮点十六进制字符串返回浮动
- 28. 在java中的32位十六进制字符串到浮点数
- 29. matlab中的32位十六进制到32位浮点(IEEE 754)转换
- 30. 十进制浮点数缺失分区(C++)
为了制定一个答案,了解这个浮点格式是否遵循用于IEEE-754二进制浮点格式的惯例将是有用的。特别是,它是否使用了一个有偏指数,其指数值0保留给零和非正规数,并且指数值0xF(即十进制15)为无穷大和NaN保留? – njuffa
是IEEE-754格式 – Austin
由于IEEE 754没有指定9位格式,所以“IEEE 754”本身还不够好。例如,我们仍然需要知道指数偏差是什么。 (基于确实存在的IEEE 754格式,我猜* 7的指数偏差,但这是一个猜测。)如果您有示例值和相应的位模式,这将有助于理解格式。 –