位运算
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了位运算,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2120字,纯文字阅读大概需要4分钟。
内容图文
将整型转化为二进制(此部分为转载):
函数:itoa(integer to array)
功能:把一整数转换为字符串
用法:char *itoa(int value, char *string, int radix); 将int整型数转化为一个字符串,并将值保存在数组string中。
value: 待转化的整数。
radix:是基数的意思,即先将value转化为radix进制的数,范围介于2-36,比如10表示10进制,16表示16进制。
* string:保存转换后得到的字符串。
返回值:
char *:指向生成的字符串, 同*string。
头文件:"stdlib.h"
方法一:itoa函数 itoa函数将数值转换为字符串,通过规定转换进制实现。 #include<stdio.h> #include<stdlib.h> //注意必须调用stdlib.h函数库int main(void) { while(1) { int a; printf("请输入一个十进制数: "); scanf("%d",&a); char str[30]; itoa(a,str,2);//2即是代表转换为2进制 printf("转换成二进制数是: %s\n\n",str); } return0; }
#include<stdio.h> int main(void){ int a,b,k,i; int remainder[30]; //定义了一个remainder数组,用来收集短除法除得的余数,栈倒序输出。 a=1000; k=0; while(a!=0){ b=a/2; k++; remainder[k]=a-b*2; a=a/2; }; for (i=k;i>=1;i--){ printf("%d",remainder[i]); } return0; }
转载结束。
按位与运算;&;0&0 = 0; 0&1 = 0 ; 1&1 = 1;
与 0x00ff 按位与运算,可以实现高字节清零,低字节不变。(short int 类型)
#include<stdio.h> int main() { const unsigned int a = 0x00ff; unsigned int x; scanf("%x",&x); x = x&a; printf("%x",x); return0; }
按位或 |:0|0 =0 ; 0|1 =1; 1|1 = 1;
与0x00ff按位或运算,可以实现低字节置位为1, 高字节不变,(short int 类型)
#include<stdio.h> #include<stdlib.h> int main() { char str[100];// 用来存储二进制数。while(1) { shortint x; scanf("%hx",&x); // h 修饰short。 itoa(x,str,2);// 进制转化 printf("what you enter: %s\n",str); shortint con = 0x00ff; itoa(con,str,2); printf("0x00ff:%s\n",str); shortint x_1 = x&con; itoa(x_1,str,2); printf("after &, x turn into: %s\n",str); shortint x_2 = x|con; itoa(x_2,str,2); printf("after |, x turn into: %s\n",str); } return0; }
按位或 ^: 二进制位上,相同为0, 不同为1;
#include<stdio.h> #include<stdlib.h> int main() { while(1) { char str_1[20], str_2[20]; shortint x_1, x_2; scanf("%hx %hx",&x_1, &x_2); itoa(x_1, str_1, 2); printf("str_1: %016s\n",str_1); itoa(x_2, str_2, 2); printf("str_2: %016s\n", str_2); shortint x = x_1^x_2; char str[20]; itoa(x,str,2); printf("str_x: %016s\n",str); } return0; }
注: 可以实现特定位的翻转。
左移<<n
去掉n 个二进制位 右边补上n个0
右移>>n
右边去掉n个二进制位,从左边补上n个二进制位。
对于无符号整数,左边一律补0, 右边一律补其符号位。
原文:https://www.cnblogs.com/zhang-zsq/p/12813955.html
内容总结
以上是互联网集市为您收集整理的位运算全部内容,希望文章能够帮你解决位运算所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。