#include<stdio.h>
unsigned char RightShift(unsigned char n, int num_of_bits)
{
n=n>>num_of_bits;
unsigned char mask=(1u<<num_of_bits)-1;
mask=mask<<(8-num_of_bits);
n=n|mask;
return n;
}
int main()
{
unsigned char ret=RightShift(135,3);
printf("%u\n",ret);
return 0;
}
写一个右移的函数,将unsigned char右移n位后, 左侧高n位置1。
最新推荐文章于 2022-12-01 19:54:30 发布
该代码实现了一个名为`RightShift`的函数,它接受一个无符号字符`n`和一个整数`num_of_bits`作为参数,将`n`的二进制位向右移动`num_of_bits`位,并用1填充移动出来的位。在主函数中,使用这个函数将135右移3位,并打印结果。这个函数展示了位操作在编程中的应用。

4267

被折叠的 条评论
为什么被折叠?



