在指数和小数部分之间转换具有不同位数的格式

我试图刷新浮点数。 我正在阅读一个练习,要求从格式A转换为:k = 3,4比特分数和偏差= 3到格式B,其中k = 4,3比特分数和偏差7。
我们应该在必要时进行圆
格式之间的示例:

011 0000 (Value = 1) =====> 0111 000 (Value = 1) 010 1001 (Value = 25/32) =====> 0110 100 (Value = 3/4 Rounded down) 110 1111 (Value = 31/2) =====> 1011 000 (Value = 16 Rounded up) 

问题:我无法弄清楚转换的工作原理。 首先,我设法在某些情况下正确地做到了,但我的方法是将格式A的位模式转换为十进制值,然后以格式B的位模式表示该值。
但有没有办法以某种方式从一位模式转到另一种模式而不进行此转换,只知道我们将e扩展1位并将分数减少1?

但有没有办法以某种方式从一位模式转到另一种模式而不进行此转换,只知道我们将e扩展1位并将分数减少1?

是的,这比通过十进制值(只有转换为精确的十进制值而不是近似值才正确)更简单。

 011 0000(价值= 1)   
  代表1.0000 * 2 3-3
  在“自然”二进制文件中真的是1.0 * 2 0
  代表1.000 * 2 7-7预格式化目标格式
    =====> 0111 000(值= 1)

第二个例子:

 010 1001(价值= 25/32)  
  代表1.1001 * 2 2-3
  真的是1.1001 * 2 -1
  当我们压制一个数字时,由于“连接到均匀”而转向1.100 * 2 -1
  是预先形成的1.100 * 2 6-7
 =====> 0110 100(值= 3/4圆满)

第三个例子:

 110 1111(价值= 31/2)
  代表1.1111 * 2 6-3
  真的是1.1111 * 2 3
  当我们压制一个数字时,舍入到10.000 * 2 3 ,因为“绑定到偶数”在这里意味着“向上”并且进位传播很长
  重整为1.000 * 2 4
  预先形成1.000 * 2 11-7
    =====> 1011 000(价值= 16圆满) 

例2和3是“中途案例”。 好吧,从4位分数到3位分数的舍入,50%的例子无论如何都是中途分数。

在示例2中, 1.10011.101接近1.100 。 那么结果如何选择? 选择的那个是以0结尾的那个。 这里, 1.100