c语言中显示无符号整型数据在计算机存储中二进制位的具体数值

 

001、

c语言中显示无符号整型数据在计算机存储中二进制位的具体数值

复制代码
[root@PC1 test2]# cat test.c
#include <stdio.h>

int bits_count(unsigned x)        // 定义函数, 输出二进制位上为1的位数
{
        int bits;
        bits = 0;
        while(x)
        {
                if(x & 1U)
                {
                        bits++;
                }
                x >>= 1;
        }
        return bits++;
}

int length_unint(void)                 // 输出无符号整型的位数
{
        return bits_count(~0U);
}

void show_every_bits(unsigned x)        // 定义函数,输出无符号整数所有的二进制位数值
{
        int i;
        for(i = (length_unint() - 1); i >= 0; i--)
        {
                putchar(((x >> i & 1U) ? '1':'0'));
        }
}

int main(void)
{
        int a, b, c;
        a = 1; b = 3; c = 7;        // 三个测试数字
        show_every_bits(a);
        putchar('\n');
        show_every_bits(b);
        putchar('\n');
        show_every_bits(c);
        putchar('\n');

        return 0;
}
复制代码

复制代码
[root@PC1 test2]# ls
test.c
[root@PC1 test2]# gcc test.c -o kkk        ## 编译,运算测试
[root@PC1 test2]# ls
kkk  test.c
[root@PC1 test2]# ./kkk
00000000000000000000000000000001
00000000000000000000000000000011
00000000000000000000000000000111
复制代码

 

 

posted @   小鲨鱼2018  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2024-01-03 linux 中 vim命令忽略大小写进行查找
2023-01-03 房间开关灯可以唤醒睡眠的计算机的解决方法
2022-01-03 linux 系统中awk 字符串处理函数
2022-01-03 linux awk命令实现批量列的字符串替换
2022-01-03 linux awk命令忽略大小写
2022-01-03 linux awk命令统计多个文件的总行数
2022-01-03 python中如何提取文件的前几行
点击右上角即可分享
微信分享提示