C语言printf如何输出二进制数格式?如何将十进制数按二进制数输出?C语言printf二进制输出字符的格式是什么?C语言可以二进制输出吗?
【C语言printf如何输出二进制数格式(将十进制数转为二进制输出)】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");
}
推荐阅读
- JavaScript数据类型详解——简单易懂
- JavaScript对字符串的操作和js查找字符位置
- JavaScript中var的重要作用及详解
- JavaScript 循环语句全集解析
- vue.js怎样给元素绑定事件
- vue.js怎样使用v-if v-else
- C语言简明教程(五)(基本数据类型完整详解和使用实例)
- C语言简明教程(四)(C程序综合概述细节分析)
- JavaScript对象的创建使用与访问