看了很多语言的教程,在讲8进制、16进制的时候,从来都是用整数来表示。
今天突然想到,其实小数也可以用8进制、16进制表示呢,但从来没有一本教程讲过这个问题。
我知道浮点数的表示格式有很多种,在计算机内部,不管什么进制,都是用2进制存储的。
所谓的10进制、8进制、16进制只是为了方便人类读写,转换出来的。
小数怎么用8进制、16进制转换,这个还真不会呢,哈哈。
看了很多语言的教程,在讲8进制、16进制的时候,从来都是用整数来表示。
今天突然想到,其实小数也可以用8进制、16进制表示呢,但从来没有一本教程讲过这个问题。
我知道浮点数的表示格式有很多种,在计算机内部,不管什么进制,都是用2进制存储的。
所谓的10进制、8进制、16进制只是为了方便人类读写,转换出来的。
小数怎么用8进制、16进制转换,这个还真不会呢,哈哈。
小数对应到其他进制进行存储和表示时,需规定好指数位和位数位等信息,如IEEE R32.24规定或者R64.53规定,不做规定的表示是没有意义的,同样一个16或者8进制的数据在不同的规定下实际的数值是不一样,这样就带来交流的不方便,那不如直接写人类能直接看懂数值。
因为没什么意义啊,有意义的东西才能被流传。
之所以用2/8/16进制,都是因为这些进制能刚好和bit直接对应上。而小数没有这个,其他进制写出来的小数和内存里的小数还是不能按bit对应上,既然对不上,那要你何用。
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.4k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
6 回答1.2k 阅读
我觉得一个道理吧。。。只不过整数部分,小数部分分别转换
比如十进制的 12,转成八进制就是 14
那么十进制的 12.12,转成八进制就是 14.14
2333333333333