翻转数字最后n位
1 #include<stdio.h>
2 int turn_n(int ,int);
3 int main(void)
4 {
5 int test,a=-15,b=0xfffffffe,c=15;
6 printf("%x\n%d\n%x\n",a,b,c);
7 test=turn_n(-15,4);
8 printf("%d\n",test);
9 return 0;
10 }
11 int turn_n(int num,int bits)
12 {
13 int mask=0;
14 int bitval=1;
15 while(bits-->0)
16 {
17 mask |=bitval;
18 bitval <<=1;
19 }
20 return num^mask;
21 }
欢迎加入作者的小圈子
扫描下方左边二维码加入QQ交流群,扫描下方右边二维码关注个人微信公众号并获取更多隐藏干货,QQ交流群:816747642 微信公众号:Crystal软件学堂
作者:Crystal软件学堂 bilibili视频教程地址:https://space.bilibili.com/5782182 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在转载文章页面给出原文连接。 如果你觉得文章对你有所帮助,烦请点个推荐,你的支持是我更文的动力。 文中若有错误,请您务必指出,感谢给予我建议并让我提高的你。 |