gpt4 book ai didi

c - C中二进制的格式说明符是什么?

转载 作者:行者123 更新时间:2023-12-02 08:22:14 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Is there a printf converter to print in binary format?

(54 个回答)


5年前关闭。




我已经找遍了所有地方,但我没有找到我的问题的答案。首先,我知道十进制的符号是%d ,八进制的符号是 %o ,十六进制的符号是 %x .然而,我找不到的是二进制的符号。我将不胜感激任何帮助。

最佳答案

您无法找到用于以二进制打印整数的格式说明符的原因是因为没有。您必须编写自己的函数来以二进制形式打印数字。

所以对于单个无符号字节:

#include <stdio.h>
#include <limits.h>

void print_bin(unsigned char byte)
{
int i = CHAR_BIT; /* however many bits are in a byte on your platform */
while(i--) {
putchar('0' + ((byte >> i) & 1)); /* loop through and print the bits */
}
}

对于标准的 unsigned int:
#include <stdio.h>
#include <limits.h>

void print_bin(unsigned int integer)
{
int i = CHAR_BIT * sizeof integer; /* however many bits are in an integer */
while(i--) {
putchar('0' + ((integer >> i) & 1));
}
}

相应地调整较大整数的函数。不过要小心有符号移位,因为行为是未定义的并且完全依赖于编译器。

关于c - C中二进制的格式说明符是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35926722/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com