写一个十进制转三进制代码
时间: 2023-05-25 22:01:51 浏览: 78
以下是 Python 代码示例,实现将十进制数字 num 转换为三进制:
```python
def decimal_to_ternary(num):
if num == 0:
return "0"
ternary = ""
while num != 0:
remainder = num % 3
num = num // 3
ternary = str(remainder) + ternary
return ternary
```
其中,使用循环的方式逐位转换十进制数字为三进制。在每一次循环中,通过取余数和整除操作,分别得到当前数字的最后一位和除以三后的数字,依次拼接得到三进制结果。
可以将该函数作为库函数供其他程序调用,例如:
```python
num = 1234
ternary_num = decimal_to_ternary(num)
print("The ternary representation of", num, "is", ternary_num)
```
执行结果为:
```
The ternary representation of 1234 is 1200201
```
相关问题
写一个二进制转十进制的代码
以下是一个将二进制转换为十进制的代码示例:
```python
binary = "1010"
decimal = int(binary, 2)
print("Decimal value: ", decimal) # 输出:10
```
这段代码中,我们首先定义了一个二进制字符串`binary`,然后使用`int()`函数将其转换为十进制数。函数的第二个参数`2`表示输入的字符串是二进制形式。最后,我们使用`print()`函数输出转换后的十进制值。
C语言写一个十六进制转十进制代码
以下是一个将十六进制数转换为十进制数的C语言代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int main() {
char hex[100];
long long decimal = 0, base = 1;
int i = 0, value, length;
printf("Enter a hexadecimal number: ");
scanf("%s", hex);
length = strlen(hex);
for(i = length - 1; i >= 0; i--) {
if(hex[i] >= '0' && hex[i] <= '9') {
value = hex[i] - 48;
} else if(hex[i] >= 'a' && hex[i] <= 'f') {
value = hex[i] - 97 + 10;
} else if(hex[i] >= 'A' && hex[i] <= 'F') {
value = hex[i] - 65 + 10;
} else {
printf("Invalid hexadecimal number.\n");
exit(0);
}
decimal += value * base;
base *= 16;
}
printf("The decimal value of %s is %lld\n", hex, decimal);
return 0;
}
```
这个程序首先要求用户输入一个十六进制数,然后通过迭代每个十六进制数字并将其转换为十进制数来计算其十进制值。在这个过程中,程序检查输入的数是否是有效的十六进制数字,如果不是,则程序将退出并显示错误消息。