700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > c语言格式字符二进制 C语言printf如何输出二进制数格式?将十进制数转为二进制输出...

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

时间:2019-03-12 10:37:10

相关推荐

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");

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。