资讯详情

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

文章目录

    • 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

标签: nmb悬臂梁传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台