→ kdjf: 32767=b0111111111111111喔 06/24 23:37
推 softseaweed: 補數可把第一個bit當做sign bit, 1代表負 0代表正 06/24 23:37
推 softseaweed: 況且那串不會很靠近32767,2^15就32768,後面還一串 06/24 23:40
→ mater2004: 32767為何是0111111111111111阿? 有什麼規則定的嗎? 06/24 23:45
→ mater2004: 我剛算了一下 這樣就是-13 頭怎不是從000000000000000 06/24 23:47
→ mater2004: 開始呢 06/24 23:47
→ softseaweed: 你知道二進位怎麼做的嗎? 位值記數法? 06/24 23:47
→ mater2004: 不知道 剛看不久而已 06/24 23:49
→ softseaweed: 那你先把位值記數法跟二進位搞懂後再來看補數... 06/24 23:51
→ mater2004: 我不懂你說的是什麼? google找不太到,如果是計算轉換 06/24 23:56
→ mater2004: 我會。 06/24 23:58
→ softseaweed: 你會轉換怎麼會不知道為何32767=b0111111111111111 06/25 00:05
→ softseaweed: 簡而言之 二補數不用想太多 最左邊的bit若是1該數 06/25 00:07
→ softseaweed: 就是負的,若是0該數就是零或正的 06/25 00:07
→ softseaweed: 若是正數或零就跟一般二進位一樣換算即可 06/25 00:09
→ softseaweed: 負數請先NOT過後加1就會得到相對應的二進位值 06/25 00:10
→ softseaweed: 換算該值後在前面加上一個減號就是你要的數字了 06/25 00:10
→ softseaweed: 正數轉負數也是NOT過後+1 06/25 00:12
→ mater2004: 我知道我哪裡弄錯了,你還告訴我另一個東西。謝謝 06/25 00:14