在C言语中,进行进制转化一般涉及到将数字从一个进制转化到另一个进制。以下是几种常见的进制转化办法:
1. 十进制转其他进制: 十进制转二进制:能够运用位运算或许除以2取余的办法。 十进制转八进制:能够运用除以8取余的办法。 十进制转十六进制:能够运用除以16取余的办法。
2. 其他进制转十进制: 二进制转十进制:能够运用位运算或许将每一位数字乘以2的幂次然后相加。 八进制转十进制:能够运用将每一位数字乘以8的幂次然后相加。 十六进制转十进制:能够运用将每一位数字乘以16的幂次然后相加。
3. 其他进制之间的转化: 能够先将一个进制转化为十进制,然后再从十进制转化到另一个进制。
十进制转二进制、八进制、十六进制```cinclude
// 十进制转二进制void decimalToBinary { if decimalToBinary; printf;}
// 十进制转八进制void decimalToOctal { if decimalToOctal; printf;}
// 十进制转十六进制void decimalToHexadecimal { if decimalToHexadecimal; int r = n % 16; if printf; else printf;}
int main { int num = 31; printf; decimalToBinary; printf;
printf; decimalToOctal; printf;
printf; decimalToHexadecimal; printf;
return 0;}```
二进制、八进制、十六进制转十进制```cinclude include
// 二进制转十进制int binaryToDecimal { int len = strlen; int decimal = 0; for { decimal = '0'qwe2 qwe2; } return decimal;}
// 八进制转十进制int octalToDecimal { int len = strlen; int decimal = 0; for { decimal = '0'qwe2 qwe2; } return decimal;}
// 十六进制转十进制int hexadecimalToDecimal { int len = strlen; int decimal = 0; for { if >= '0'