... ...

Part 2:

  十进制小数与二进制转换(8 bit  3/5):3.65D

法一      From书 1)整数部分二进制转换:3 -> 011

                            2)小数部分二进制转换(乘2取余法):

                                  0.65*2 = 0.3+取出1 = 0.6+取出0 = 0.2 +取出1 = 0.4 + 取出0 = 

                                  =  0.8+ 取出0 =  ... ... 

                                  8-6-2-4 无限循环,根据5bit原则,这里只能去5位:10100

                            3)合并整数和小数部分,于是3.65即 0111 0100B

 

法二      猜想      1)3.65* 2^5 = 116.8D

                            2)116.8D下取整为116D (注:与方法一无限循环小数取舍对应)

                            3)116D 转化为二进制 0111 0100B

 

再分别用方法一二计算4.25

 方法一 1)4 -> 100B     2) 0.25 -> 01B    3)100 01 000(注:整合规则及右侧补0)

 方法二 1)4.25*2^5 = 136D = 1000 1000 

综述:方法一适合小数位数不固定,方法二适合小数位数固定时的情况,

            两种方法自己体会吧。