将用户提供的二进制数转化为十进制数。(选作)具体的调用格式如下: $ ./bin2dec 1001 1001(b) = 9(d) $ ./bin2dec 222 222 is not a valuable binary number.
时间: 2024-05-05 12:15:31 浏览: 40
Python代码实现:
```python
import sys
# 判断输入是否为二进制数
def is_binary(num):
for i in num:
if i != '0' and i != '1':
return False
return True
# 将二进制数转化为十进制数
def bin2dec(num):
res = 0
for i in range(len(num)):
res += int(num[i]) * pow(2, len(num)-i-1)
return res
if __name__ == '__main__':
if len(sys.argv) != 2:
print("Usage: python bin2dec.py [binary number]")
else:
num = sys.argv[1]
if is_binary(num):
print("{}(b) = {}(d)".format(num, bin2dec(num)))
else:
print("{} is not a valuable binary number.".format(num))
```
运行结果:
```
$ python bin2dec.py 1001
1001(b) = 9(d)
$ python bin2dec.py 222
222 is not a valuable binary number.
```