美文网首页
【基础学习】C 打印数字的二进制表示

【基础学习】C 打印数字的二进制表示

作者: Jiubao | 来源:发表于2017-02-06 11:04 被阅读25次

    为了研究下数字的位运算,学习研究了下数字的二进制表示。

    #include <stdio.h>
    
    #define LEN 120
    
    int main ()
    {
        char c;
        int i;
        long int x;
        int a[LEN];
    
        for (i = 0; i < LEN; i++)
        {
            a[i] = 0;
        }
    
        printf("Help: Input q to quit.\n");
    
        while(c != 'q')
        {
            printf("Input the number you want to show: \n");
    
            scanf("%ld", &x);
            c = getchar();
    
            if (c == 'q')
            {
                return 0;
            }
    
            for (i = 0; i < LEN; i++)
            {
                if (x % 2 == 0) 
                {
                    a[i] = 0;
                } else {
                    a[i] = 1;
                }
    
                x = x >> 1;
            }
    
            for (i = LEN - 1; i >= 0; i--) 
            {
                printf("%d", a[i]);
            }
    
            printf("\n");
        }
    }   
    

    主要是声明一个 128 长度的数组,用来存放 0 和 1,之后读取到需要计算的数字,比如 2,再挨个移位,计算其末位是否是 0 还是 1,存储到数组。最后倒序输出。

    参考:chinaunix

    相关文章

      网友评论

          本文标题:【基础学习】C 打印数字的二进制表示

          本文链接:https://www.haomeiwen.com/subject/ibvyittx.html