0
我有一個非常簡單和短小的問題。C中的按位操作數簡單問題
我們有這樣的代碼
此功能打印任何無符號數的二進制值,但反轉。意思是如果你插入5
,那麼它將打印101
,接着是29個零。
現在的問題是,如果我們用displayMask = 1
代替displayMask = 1 << 31 << 1
(其中// 1
注),輸出是什麼?
正確答案是,無論您插入什麼值,它都會打印32個零。但我不明白爲什麼。
如果我們寫displayMask = 1 << 31 << 1
然後在一開始是000...1
,然後我們旋轉31次,所以現在是100...0
,然後我們再次旋轉,使1返回到開始和我們再次得到000...1
。我的邏輯有什麼問題?
這裏沒有旋轉 – 2014-09-29 12:05:36
<<是要旋轉左邊沒有? – 2014-09-29 12:06:48
沒有。這是一個輪班操作員。 – 2014-09-29 12:07:32