当前位置 : 主页 > 编程语言 > java >

【案例】一个超级好用的工具 —— 给程序员用的计算器

来源:互联网 收集:自由互联 发布时间:2022-06-23
文章目录 ​​1. 前言​​ ​​2. 源码展示​​ ​​3. 演示用例​​ 1. 前言 主要目的是解决不同类型数字(十进制、十六进程、二进制)相互计算时换算麻烦的问题,以及针对计算结


文章目录

  • ​​1. 前言​​
  • ​​2. 源码展示​​
  • ​​3. 演示用例​​

1. 前言

主要目的是解决不同类型数字(十进制、十六进程、二进制)相互计算时换算麻烦的问题,以及针对计算结果计算其十进制、十六进制、二进制大小和以可读形式展现其KB、MB、GB的大小。

特点:随意输入表达式、不同进制混用、输出多个进制转换结果、能够输出不同的存储单位值。

2. 源码展示

calculator.py

from ast import expr

k = 4

def alin_4(s):
# 每四位显示,高位补零
# 针对二进制和十六进制
r = []
s = '0'*(k - len(s) % k) + s if len(s) % k != 0 else s
# print("s", s)
for i in range(0, len(s) // k, 1):
# print(s[-k*(i+1):len(s)-k*i])
r.append(s[-k*(i+1):len(s)-k*i])
r.reverse()
return '_'.join(r)

while True:
result = int(eval(input()))
BIN = '0b_' + alin_4(bin(result)[2:])
HEX = '0x_' + alin_4(hex(result)[2:])
print(
"DEC:%.3f\nBIN:%s\nHEX:%s\nKB:%.3f\nMB:%.3f\nGB:%.3f\n" %
(result, BIN, HEX, result / 1024, result /1024 / 1024, result /1024 / 1024 / 1024)
)

3. 演示用例

​​Ctrl+C​​ 结束输入。

PS E:\Python_prj> python -u "e:\Python_prj\calculator.py"
1 + 0x2 + 0b0011
DEC:6.000
BIN:0b_0110
HEX:0x_0006
KB:0.006
MB:0.000
GB:0.000

2 + 4 + 8 + 16 + 32 + 64
DEC:126.000
BIN:0b_0111_1110
HEX:0x_007e
KB:0.123
MB:0.000
GB:0.000

0xffff + 987654 + 0xFFFFFFFFFFFFFFFFFF
DEC:4722366482869646262272.000
BIN:0b_0001_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0001_0000_0001_0010_0000_0100
HEX:0x_0100_0000_0000_0010_1204
KB:4611686018427388928.000
MB:4503599627370497.000
GB:4398046511104.001


上一篇:动态链接库嵌套样例
下一篇:没有了
网友评论