Try   HackMD

2019q3: 回顧 Homework 3 / 4

  • jserv
  • 檢討事項 :
  • 補充資訊 :

float_bits float_i2f (int i){
    if(i == 0)
        return 0;
    int sign = (i >> 31)<<31;
    int exp = bits_length(i&0x7fffffff) - 1;
    int frac = bits_mask(exp) & i;
    return (sign | ((exp + 127) << 23)) | frac;
}

contributed < Benny1117Yen >
上述修改 int frac = (bits_mask(exp) & i) << (23 - E)
表示還要左移 23 - E 來將 frac 補到 23 bits。
不過還可以增加一些條件,
參考這份,改寫在底下連結
https://hackmd.io/@P86071244/Quiz7#測驗-2