負溫度的時候輸出的是補碼,需要轉換成原碼再計算溫度值,補碼轉換原碼的方法取反加一 和減一取反 效果是一樣的.
以補碼10010110為例,有兩種計算方法求原碼:
算法1:
補碼=原碼取反再加1的逆運算。
10010110是補碼,應先減去1變為反碼,得10010101;
由反碼取得源碼即除符號位外其他為按位取反,得11101010,即十進制數的-106。
算法2:
負數補碼速算法,由最低位(右)向高位(左)查找到第一個1與符號位之間的所有數字按位取反的逆運算
10010110是補碼,符號位與最后一個1之間的所有數字按位取反,得11101010 |