将整型数字以二进制形式打印出来

2019-05-28

关键字:整型转二进制


 

分享一个 C 语言实现的将整型数字转换成二进制形式打印出来的代码。

 

这里贴两种打印形式,第一种形式是打印 2 个字节长度的数字,且每 4 位就会空一个格出来以增加阅读性。而第二种形式的则是只打印 1 个字节。

 

其实这两个函数都是笔者在工作中写的,各自的适用场景不同而已。

 

下面先贴出这两个函数各自的执行结果,即转换结果。

 

笔者不喜欢啰嗦,上面的结果的源代码如下,整个代码逻辑极其简单,就不解释了。有需要的同学直接拷贝走人就好。 

#include <stdio.h>


void pbin1(int i)
{
    int j;
    int mask = 32768;// 1000 0000 0000 0000
    fprintf(stdout, "%d:\t", i);
    for(j = 0; j < 16; j++)
    {
        fprintf(stdout, "%c", ((i & (mask >> j)) >> (15 - j)) + '0');
        switch(j){
            case 3:
            case 7:
            case 11:
                fprintf(stdout, " ");
            break;
        }
    }
    fprintf(stdout, "\n");
}

void pbin2(unsigned char dat)
{
    char index;
    printf("%d:\t", dat);
    for(index = 7; index >= 0; index--)
    {
        printf("%d", (dat >> index) & 1);
    }
    printf("\n");
}


int main()
{
    
    pbin1(1);
    pbin1(-1);
    pbin1(-128);
    pbin1(127);
    pbin1(256);
    pbin1(17173);
    pbin1(65535);
    
    printf("------------------------------------------\n");
    
    pbin2(1);
    pbin2(127);
    pbin2(255);
    pbin2(256);
    pbin2(-2);

    return 0;
}

 


 

转载于:https://www.cnblogs.com/chorm590/p/10916263.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值