进制转换的程序怎么写

时间:2025-01-22 15:18:52 游戏攻略

进制转换程序可以通过多种编程语言实现,下面我将分别用Python和C语言给出示例代码,用于将十进制数转换为二进制、八进制和十六进制。

Python 示例代码

```python

def decimal_to_binary(decimal_number):

return bin(decimal_number)[2:]

def decimal_to_octal(decimal_number):

return oct(decimal_number)[2:]

def decimal_to_hexadecimal(decimal_number):

return hex(decimal_number)[2:]

示例使用

decimal_number = int(input("请输入一个十进制数:"))

print(f"十进制数 {decimal_number} 转换为二进制是:{decimal_to_binary(decimal_number)}")

print(f"十进制数 {decimal_number} 转换为八进制是:{decimal_to_octal(decimal_number)}")

print(f"十进制数 {decimal_number} 转换为十六进制是:{decimal_to_hexadecimal(decimal_number)}")

```

C语言示例代码

```c

include

include

void decimal_to_binary(int n) {

for (int i = 31; i >= 0; i--) {

printf("%d", (n >> i) & 1);

}

printf("\n");

}

void decimal_to_octal(int n) {

for (int i = 23; i >= 0; i--) {

printf("%d", (n >> i) & 7);

}

printf("\n");

}

void decimal_to_hexadecimal(int n) {

for (int i = 27; i >= 0; i--) {

printf("%c", (n >> i) & 15 + '0');

}

printf("\n");

}

int main() {

int decimal_number, target_base;

printf("请输入一个十进制数:");

scanf("%d", &decimal_number);

printf("请输入要转换的进制(2-16):");

scanf("%d", &target_base);

if (target_base < 2 || target_base > 16) {

printf("目标进制必须在2到16之间\n");

return 1;

}

printf("十进制数 %d 转换为 %d 进制是:", decimal_number, target_base);

if (target_base == 2) {

decimal_to_binary(decimal_number);

} else if (target_base == 8) {

decimal_to_octal(decimal_number);

} else if (target_base == 16) {

decimal_to_hexadecimal(decimal_number);

}

return 0;

}

```

以上代码分别演示了如何在Python和C语言中实现十进制数转换为二进制、八进制和十六进制。你可以根据需要进行修改和扩展。