例如,如果我有8个二进制位置:
7 6 5 4 3 2 1 0 很明显,MSB和LSB是什么?最重要的位是最左边的位置(7),最小的位是最右边的位置(0)。
但是如果我有一个binary.point (也就是小数点的分数),那会怎么样呢?
7 6 5 4 3 2 1 0 -1 -2 -3在这里人们能说什么是最重要的位?它是离二进制点最近的位还是在位置-3?
关于浮点数
发布于 2014-01-30 12:27:08
无论如何,这是“最后一位数”
从概念的角度来看,您可以用十进制数来思考:
哪一个数字是最不有趣的,如果它改变了,这是最不重要的,如:
123.45美元
显然,如果我改变了5,我改变了“美分”,这是最不重要的。
在12 345美元中,最不重要的仍然是"5“
虽然在12,345.00美元,最不重要的是最后0。
你说的是小数点。
你是说固定的代表?还是浮点数?
如果它是一个固定的表示,那么你怎么知道小数点在哪里?在某个地方是个会议吗?
因为123.45和12,345都可以用小数表示,用"12345“表示。在第一种情况下,假设我们有整数,在第二种情况下,假设我们有两位数。
如果您讨论使用浮点数,那么“最小有效数字”的概念将意味着尾数中最不显着的位。
但是,只要谈论一个位序列的“最不重要的位”,不管它的意思是什么,总是“最后”一位(或“第一位”取决于约定)。
编辑
对于浮点数,你必须记住这是一件复杂的事情。
我的意思是复杂,在表示中有几个“数字”,以位为单位。
取“通常”64浮点数(见format)
有第一个符号位,下一个11是“指数”的整数,其余的是“尾数”(“分数部分”)(被认为是1.something_meant_by_your_mantissa_bits )。
最后(64)位是尾数的第52位(最后)位,因此是对应数中最不重要的位。但是第12位也是最后一位,11位指数中的最后一位。
我将再次尝试用十进制数字来做一个例子(它比IEEE的“双精度”要简单一些,也不一样)。
假设我们用5位数字“尾数”和3位指数来写8个十进制数字。在"1.2345 E 678“中(意为1.2345乘以10至678)
"5“是”最不重要的数字“。
如果我们“打包”像IEEE双,“3位数-指数那么5位-尾数”的数字,我们就有了。
67812345
因此,大块的最后一个数字实际上是这个数字中最不重要的部分。
但是,如果我们有另一种包装惯例,例如,如果浮点数应该是“5位-尾数然后是3位指数”,即
12345678
在我们的8位数字中,最不重要的是第5位,而不是最后一位(第8位)。那么最不重要的数字不是最后一个。
这在很大程度上取决于您的数字(位)的约定的含义。
通常,我们谈论的是字节中最不重要的位,或者有意义的单词,比如内存地址,或者仅仅是粗略的一组位。因此,无论如何,您都可以将它们看作整数。
为了方便起见,我猜IEEE浮点数标准将尾数放在组的末尾,因此最后一位,也就是数字中最不重要的位,对应于通常的编程意义“组中最不重要的位”。
https://stackoverflow.com/questions/21456352
复制相似问题