c语言二进制转四进制八进制十六进制
时间: 2025-01-20 10:02:44 浏览: 22
在C语言中,将二进制转换成其他进制(如四进制、八进制或十六进制)可以手动完成,也可以通过库函数辅助。以下是基本步骤:
二进制转十进制(然后转其他进制)的手动方法:
- 二进制转十进制:遍历二进制数的每一位,从右到左,每一位乘以2的相应次幂(0指数代表最低位),加起来就是十进制值。
- 十进制转其他进制:例如转八进制,除以8取余数(0-7),得到的是对应的八进制数字;同样,转十六进制除以16取余数(0-15),转换成A-F字母表示大数字。
使用库函数的方法:
C标准库提供的itoa()
函数可以将整数转换为字符串形式,包括二进制、八进制和十六进制。例如:
#include <stdio.h>
#include <stdlib.h>
int main() {
char binary[32] = "10101010"; // 二进制字符串
int decimal = strtol(binary, NULL, 2); // 转换为十进制
char octal[32], hex[32];
// 使用itoa函数
itoa(decimal, octal, 8); // 转八进制
itoa(decimal, hex, 16); // 转十六进制
printf("Decimal: %d\n", decimal);
printf("Octal: %s\n", octal);
printf("Hexadecimal: %s\n", hex);
return 0;
}
运行这段代码会输出相应的进制数值。
相关推荐
















