我正在努力学习C,现在我是一个花车。我知道所有值在不同的机器上都有不同的尺寸。但我正在努力学习这个概念。
让我们说浮点数保存为4个字节。我读到第一位是符号位,它决定数字是正数还是负数。然后接下来的7位是指数,其余的(23位)是尾数。这可能是这样的: 1 010 1001 0000 0000 1011 1001 0000 111
但这又如何转化为浮动?我可以读二进制,但我没有看到它背后的公式:)。有人可以向我解释这个,或者它是如何工作的?
答案 0 :(得分:2)
http://www.eosgarden.com/en/articles/float/
基本上,标准化数字的公式为: -1^S * 1.M * 2^( E - 127 )
其中 S 是符号, M 是尾数,<强> E 指数。但是在上一个链接中详细解释了所有内容。
答案 1 :(得分:1)
指数中有8位: seee eeee emmm mmmm mmmm mmmm mmmm mmmm
公式是: (-1)^ s * 1.M * 2 ^(E - 127)
我使用大M和E分别表示所有m和e位。 M部分是二进制,E部分是十进制。