[問題] 輸出a<<1的結果有問題~

看板C_and_CPP (C/C++)作者 (Veck)時間14年前 (2011/07/22 09:05), 編輯推噓0(005)
留言5則, 3人參與, 最新討論串1/1
我用C寫了一段 a=3; b= a<<1; 照理說應該是將 a 做左移 1 bit 的運算吧? 那為什麼我印出 b 的結果是 4 不是 6 呢? 我的想法是:     3 = 0011 ↓ 左移 1 bit 0110 = 6 但是我怎麼跑都是4耶??? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.242.13.247

07/22 09:11, , 1F
0011 = 2^0 + 2^1 = 3, 0110 = 2^1+2^2 = 6
07/22 09:11, 1F
※ 編輯: fbukevin 來自: 114.39.32.207 (07/22 09:11)

07/22 09:16, , 2F
應該是你程式碼寫錯了
07/22 09:16, 2F

07/22 09:17, , 3F
所以正確來說應該是6對吧?
07/22 09:17, 3F

07/22 09:23, , 4F
我知道我的錯誤了! 謝謝大大!
07/22 09:23, 4F

07/22 09:24, , 5F
請使用有意義的標題
07/22 09:24, 5F
文章代碼(AID): #1EACp8vc (C_and_CPP)
文章代碼(AID): #1EACp8vc (C_and_CPP)