pintos (6) --運算符優先級

一個定點小數除法如下:

#define FD_DIV(X, Y) (((fp_t)X)<<FD_SHIFT_AMOUNT/(Y))

然而這是錯的……

錯在哪裏呢…左移 << 的優先級是低於除法 / 的
所以會先計算FD_SHIFT_AMOUNT/(Y)


#define FD_DIV(X, Y) ((((fp_t)X)<<FD_SHIFT_AMOUNT)/(Y))

加上括號就好了…對括號哲學的理解還是不夠

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章