我对位操作相当陌生,所以如果你能帮助我,那就太棒了!当你比较两个不同的字节时,我明白了什么(&,|,〜,^)。我也明白,(< <)就像乘以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;
}
提前感谢!
忘记.......... –