
面试考官邢老师为您分享以下优质知识
在C语言中,使用`printf`输出二进制数据主要有以下两种方法:
一、使用 `%b` 格式说明符(推荐)
C11标准新增了 `%b` 格式说明符,可直接以二进制形式输出整数。该格式支持附加宽度、填充符号等控制选项。
示例代码:
```c
include
int main() {
int num = 10;
printf("二进制表示: %bn", num); // 输出: 1010
printf("左对齐二进制: %-10bn", num); // 输出: 1010
printf("前导零填充二进制: %010bn", num); // 输出: 00001010
return 0;
}
```
二、手动转换并使用 `%s` 格式说明符
若需兼容旧版C标准或自定义输出格式,可将整数转换为二进制字符串后使用 `%s` 输出。
示例代码:
```c
include
include
include
void printBinary(unsigned int num) {
char binary; // 32位二进制数 + 结尾的'0'
int i;
for (i = 0; i < 32; i++) {
binary[i] = (num & (1