c语言格式字符二进制,C语言printf如何输出二进制数格式?将十进制数转为二进制输出...

C语言printf如何输出二进制数格式?如何将十进制数按二进制数输出?C语言printf二进制输出字符的格式是什么?C语言可以二进制输出吗?

C语言printf打印没有提供二进制格式化输出转换说明,需要自定义实现输出二进制数格式,实现的算法主要是使用移位操作符,使用&与位操作,将1与各位比较提取各位出来,具体的实现算法如下:

void print_bin(int number);

void print_bin_simple(int number);

int main(void){

int number = 0xAF01BC;

print_bin(number); // 完全位二进制数格式输出

print_bin_simple(number); // 去掉前面无效0二进制数格式输出

return 0;

}

/*

* 二进制数格式输出,输出所有位

* 6bit

* 011010

* 100000 1<<5

* &

* */

void print_bin(int number){

int bit = sizeof(int)*8;

int i;

for(i = bit - 1;i >= 0;i--){

int bin = (number & (1 << i)) >> i;

printf("%d", bin);

}

printf("\n");

}

// 二进制数格式输出,输出有效位,过滤掉前面的0位

void print_bin_simple(int number){

int bit = sizeof(int)*8;

int i;

int status = 0;

for(i = bit - 1;i >= 0;i--){

int bin = (number & (1 << i)) >> i;

if(bin == 1)

status = 1;

if(status == 1)

printf("%d", bin);

}

printf("\n");

}

  • 2
    点赞
  • 3
    收藏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:数字20 设计师:CSDN官方博客 返回首页
评论
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值