首页 > 代码库 > 使用位运算显示二进制数
使用位运算显示二进制数
最近学习《C Primer Plus》位操作部分,结合书上的编程实例来巩固这部分知识点。
1 //使用位运算显示二进制数 2 #include<stdio.h> 3 char *itobs( int, char*); //integer to binary string 4 void show_bstr( const char*); 5 main() 6 { 7 char bin_str[8 * sizeof(int) +1]; 8 int number; 9 while(scanf("%d", &number)==1)10 {11 itobs( number, bin_str);12 printf("%d is ", number);13 show_bstr( bin_str);14 putchar(‘\n‘);15 }16 }17 char *itobs( int n, char *ps)18 {19 int i;20 static int size = 8 * sizeof(int);21 for( i=size-1; i>=0; i--, n>>=1)22 ps[i]=(1&n)+‘0‘; //01&n就是n的最后一位的值(1&n也行),该值为0或1。字符数组需要字符‘0‘或‘1‘,加上‘0‘的ASCII编码可以完成转换23 ps[size]=‘\0‘;24 return ps;25 }26 //四位一组显示二进制字符串27 void show_bstr(const char *str)28 {29 int i=0;30 while(str[i])31 {32 putchar(str[i]);33 if(++i%4==0 && str[i])34 putchar(‘ ‘);35 }36 }
使用位运算显示二进制数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。