浮点,内存,二进制,十进制浮点转二进制

进行一下格式说明(011)2 括号里面表示某个数的二进制表示法,后面的2表示二进制,我们先在此做区分,内存
的存储和其大端小端有关,也就是以后网络编程中会用到的,不过一般都是大端,即高位在后。
还有后面的默认数值位默认前置一个 1 即 00000 做解析时是  100000
高位在后在做偏移运算的时候效率比较高。

 

1.75   =  0 01111111 11000000000000000000000
1.75   =  0 01111111 11000000000000000000000
1.75   =  (-1)^0   * (1.11)2 * 2^(127- (01111111)2)  = 1 *  (1.11)2
       =  1 * ( 1*2^0 + 1*2^(-1) + 1*2^(-2) )
       =  1 * ( 1 + 0.5 + 0.25 )
       =  1.75
0.5    =  0 01111110 00000000000000000000000
0.5    =  0 126-127  1.0
       =  (-1)^0 * ( (0.1)2 ) = 1 * (1* 2^-1) = 0.5
100.5  =  0 10000101 10010010000000000000000
100.5  =  0 133-127  1.(1001001)
       =  (-1)^0 * (1100100.1)
       =  1 * ( 1*2^7 + 1*2^6 + 0*2^5 + 0*2^4 + 1*2^3 + 0*2^2 + 0*2^1 + 0*2^0 + 1*2^(-1) )
       =  64 + 32 + 4 + 0.5
       =  100.5
浮点的二进制表示方法是
单精度浮点
1 符号位
2-9 指数位 为了表示 2^n   n可以为正负数 统一以127为分界线,对127做差就是  指数n的值
10-32 有效数位 1.(10-32的二进制位)
双精度浮点
1 符号位
2-12 指数位 为了表示 2^n   n可以为正负数 统一以1023为分界线,对1023做差就是  指数n的值   1023=1<<10-1
13-64 有效数位 1.(10-32的二进制位)

 

    原文作者:进制转换
    原文地址: https://blog.csdn.net/rubikchen/article/details/78038961
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞