我對位操作相當陌生,所以如果你能幫助我,那就太棒了!當你比較兩個不同的字節時,我明白了什麼(&,|,〜,^)。我也明白,(< <)就像乘以2^i位一樣,(>>)就等於除以2^i位。我已經嘗試過,但我認爲有更好的方法來做到這一點。家庭作業幫助(位操作)
這裏的問題:
收件,用於設置一個整數一定數目的比特爲1,並且所有其它位爲0的值應該從函數返回的功能。例如,當將整數x = 3和y = 8傳遞給該函數時,該函數應該返回二進制數爲00000000 00000000 00000111 11111000的整數。也就是說,將第3到第11(3 + 8)提示:此函數有兩個參數:起始位數和從起始位開始計數的位數。應該使用逐位添加和移位。
這是我到目前爲止有:
int function(int startBit, int numBits){
int num = 0;
int num1 = 1;
int i;
for(i = startBit; i < startBit+numBits; i++){
num = num | num1 << i;
}
return num;
}
提前感謝!
忘記.......... –