请原谅我,如果这是重复的,但是我需要有人向我解释如何完成以下操作(C中的按位掩蔽/移位让我困惑)
根据我的理解,我需要用最后4位切换前4位,但我不确定该怎么做。
这是一个针对审核/研究目的而发布的期中考试的问题
问题:
我已经声明了两个unsigned char变量a和b。假设a已初始化。我想为b赋值,使a的最低4位是b的最高4位,a的最高4位是b的最低4位。
编写一行C代码来完成此任务。
如果可以,请向我解释,以便我能更好地了解发生的事情,谢谢。
答案 0 :(得分:1)
请按照以下步骤操作:
a
a & 0x0F
的4个低位
<<
运算符a
a & 0xF0
的4个高位
>>
|
合并。