【发布时间】:2011-02-28 09:13:22
【问题描述】:
我必须编写一个函数setbits(x,p,n,y),它返回x,并在p 位置开始的n 位设置为无符号字符变量y 的最右边n 位(留下其他位不变)。
例如如果x = 10101010 (170 decimal) 和y = 10100111 (167 decimal) 和n = 3 和p = 6 说,那么你需要剥离y (111) 的3 位并将它们放在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;
【问题讨论】:
-
这不是租用编码器,并且标记它的作业并不意味着我们会为你做。先尝试,然后再提出更具体的问题。
标签: c bit-fields