写一个程序,实现二进制到十进制的转换
时间: 2024-05-01 17:16:45 浏览: 4
以下是Python程序示例:
```python
binary = input("请输入一个二进制数:")
# 将二进制数转换为十进制数
decimal = int(binary, 2)
print(f"{binary} 的十进制数为:{decimal}")
```
解释:
1. 首先,程序提示用户输入一个二进制数,并将其存储在变量 `binary` 中。
2. 然后,使用 Python 内置函数 `int()` 将二进制数转换为十进制数。函数的第二个参数 `2` 表示将二进制数转换为十进制数。
3. 最后,程序输出转换后的十进制数。使用了 Python 3.6 的 f-string 格式化字符串。
注意:输入的二进制数必须是字符串类型,否则会抛出异常。
相关问题
编写一个程序实现二进制和十进制的转换
好的,以下是 Python 代码实现二进制和十进制的转换:
```
# 将十进制数转换为二进制数
def decimal_to_binary(n):
if n == 0:
return '0b0'
binary = ''
while n > 0:
binary = str(n % 2) + binary
n //= 2
return '0b' + binary
# 将二进制数转换为十进制数
def binary_to_decimal(binary):
decimal = 0
for i in range(len(binary) - 1, 1, -1):
decimal += int(binary[i]) * 2**(len(binary) - i - 1)
return decimal
# 测试
print(decimal_to_binary(10)) # 输出:0b1010
print(binary_to_decimal('0b1010')) # 输出:10
```
以上代码中,`decimal_to_binary` 函数将十进制数转换为二进制数,`binary_to_decimal` 函数将二进制数转换为十进制数。在转换时,需要注意二进制数前缀为 `0b`,而十进制数没有前缀。
用C语言写一个二进制转换十进制的程序
下面是一个简单的C语言程序,用于将二进制数转换为十进制数:
```c
#include <stdio.h>
#include <math.h>
int binaryToDecimal(long long n);
int main() {
long long n;
printf("Enter a binary number: ");
scanf("%lld", &n);
printf("%lld in binary = %d in decimal", n, binaryToDecimal(n));
return 0;
}
int binaryToDecimal(long long n) {
int decimal = 0, i = 0, remainder;
while (n != 0) {
remainder = n % 10;
n /= 10;
decimal += remainder * pow(2, i);
++i;
}
return decimal;
}
```
在上面的程序中,我们首先从用户输入中获取一个二进制数。然后,我们调用一个名为`binaryToDecimal()`的函数来将二进制数转换为十进制数,并将其打印出来。
函数`binaryToDecimal()`使用while循环来遍历二进制数中的每个数字。我们通过使用`n%10`来获取二进制数的最后一位数字,并将其存储在`remainder`变量中。然后,我们将二进制数除以10,以便我们可以继续处理下一个数字。在每次循环中,我们使用`pow()`函数将二进制数的每一位数字乘以2的幂,以便将其转换为十进制数。最后,我们将所有数字相加,并将结果返回给调用函数。