码迷,mamicode.com
首页 > 其他好文 > 详细

使用位运算显示二进制数

时间:2014-11-02 22:32:34      阅读:453      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   color   ar   使用   for   sp   div   

  最近学习《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 }

 

使用位运算显示二进制数

标签:style   blog   io   color   ar   使用   for   sp   div   

原文地址:http://www.cnblogs.com/anthozoan77/p/4069963.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!