
面试李组长为您分享以下优质知识
C语言本身不直接支持二进制数的输入输出,但可以通过以下方法实现类似功能:
一、二进制数的存储与转换
可以使用`itoa`函数将十进制数转换为二进制字符串(需包含`stdlib.h`),或使用`sprintf`格式化输出。例如:
```c
include
include
int main() {
int i = 1024;
char bs;
sprintf(bs, "%032s", itoa(i, 2));
printf("i=%d, bs=%sn", i, bs);
return 0;
}
```
对于十六进制转换,使用`itoa`函数并指定基数2,或使用`sprintf`格式化输出:
```c
sprintf(hs, "%08s", itoa(i, 16));
printf("i=%d, hs=%sn", i, hs);
```
二进制转十进制
可以通过按位与操作实现。例如将二进制数`00010101`转换为十进制:
```c
int num = 0b00010101;
int decimal = 0;
for (int i = 0; i < 8; i++) {
decimal += (num & (1