我必须编写一个函数setbits(x,p,n,y),该函数返回从位置开始x的n位,该位置设置为unsigned char 变量的p最右侧位(其他位保持不变)。ny
例如,如果x = 10101010 (170 decimal)and y = 10100111 (167 decimal)and n = 3andp = 6说 then 你需要去掉 3 位y (111)并将它们放在x适当的位置10xxx010以获得答案10111010。
这个函数应该以二进制形式打印出结果。
输出应该是这样的:
x = 10101010 (binary)
y = 10100111 (binary)
setbits n = 3, p = 6 gives x = 10111010 (binary)
嗨,我在位字段中遇到了这个问题。
我应该怎么做?
Typedef struct {
unsigned char x:8;
unsigned char y:8;
} var;