如何在向左移動時削減二進制數而不是擴展位數?如何在向左移動時切割二進制數?
int num = 0b101010;
num = num << 1 // I want num to be now 01010
num = num << 1 // I want num to be now 1010
num = num << 1 // I want num to be now 010
num = num << 1 // I want num to be now 10
有沒有簡單的方法來做到這一點?
如果你想在某個階段的數字是'01010',那麼你似乎在處理'字符串',而不是二進制數字。每次迭代只需從你的'String'中剪掉最左邊的字符。 – Keppil 2013-03-12 20:51:21
使用AND運算符來提取某些字節。會容易很多。第一個是'num&31',第二個'num&15'。然後,您可以將每個操作上的第二個操作員轉移到右側1。 – 2013-03-12 20:51:57