• 1K=210=1024,近似于十进制的“千”;
  • 1M=220=1024K,近似于十进制的“百万”;
  • 1G=230=1024M,近似于十进制的“十亿”;
  • 1T=240=1024G,近似于十进制的“万亿”。

任务

  本关任务是用合适的计量单位表示一个数。具体来说,是将十进制整数 a 转换成 bU 形式,说明如下:
  1)U 是某种二进制计量单位(本关只考虑 K、M、G、T);
  2)b 是一个十进制数字,且 1≤b<1024;
  3)b 保留一位小数(用round函数实现,如round(3.14, 1)


这个是我写的,刚开始搞错了范围,直接从a <k为条件,就开始除以k,结果可想而知,开始公式就错了。这个是改正以后的,有一点繁琐。


########## Begin ##########
def unit_convert(a):K=2**10M=2**20G=2**30T=2**40if a<K:f=af=round(f,1)return (str(f))if a<M:f=a/Kf=round(f,1)return (str(f)+'K')if a<G:f=a/Mf=round(f,1)return (str(f)+'M')if a<T:f=a/Gf=round(f,1)return (str(f)+'G')else:f=a/Tf=round(f,1)return (str(f)+'T')return(f)
########## End ##########
a = int(input())
b = unit_convert(a)
print('%s = %s' % (a, b))

########## Begin ##########
def unit_convert(a):  if a>=2**40:  b = round(a/(2**40), 1)  return str(b)+'T'  elif a>=2**30:  b = round(a/(2**30), 1)  return str(b)+'G'  elif a>=2**20:  b = round(a/(2**20), 1)  return str(b)+'M'  elif a>=2**10:  b = round(a/(2**10), 1)  return str(b)+'K'  else:  b = round(a, 1)  return str(b)
########## End ##########
a = int(input())
b = unit_convert(a)
print('%s = %s' % (a, b))


########## Begin ##########
def unit_convert(a):if a >= 2**40:b = f'{round(a/2**40, 1)}T'elif a >= 2**30:b = f'{round(a/2**30, 1)}G'elif a >= 2**20:b = f'{round(a/2**20, 1)}M'else:b = f'{round(a/2**10, 1)}K'return b
########## End ##########
a = int(input())
b = unit_convert(a)
print('%s = %s' % (a, b))

二进制计量单位#K,M,G,T的换算相关推荐

  1. 位bit, 字节byte, K ,M,G关系

    位bit, 字节byte, K ,M,G关系 比特bit 也称为位,是计算机信息中的最小单位,是 binary digit 缩写, 指二进制中的一位,所以比特就是一些0,1二进制 字节byte 8个二 ...

  2. Python字节单位转换(将字节转换为K M G T)

    def bytes_to_human(n):symbols = ('K','M','G','T','P','E','Z','Y')prefix = {}for i,s in enumerate(sym ...

  3. k m kb mb计算机组成,为什么对计算机存储单位(K,M,G,T)换算,总是糊里又糊涂?

    转自:http://www.cnblogs.com/lumnm/archive/2012/02/08/2342374.html 对于计算机专业的童鞋来说,大概对计算机存储单位换转换不算陌生,但是往往有 ...

  4. bit byte K M G

    字节是由8个位所组成,可代表一个字符(A~Z).数字(0~9).或符号(,.?!%&+-*/),是内存储存数据的基本单位. 1 byte = 8 bit 1 KB = 1024 bytes = ...

  5. oracle下k M G,【性能调优】Oracle AWR报告指标全解析(2)

    7-1 Checkpoint Activity 检查点与 Instance Recovery Stats 实例恢复 Checkpoint Activity Snaps: 70719-70723 -&g ...

  6. linux ls 显示文件大小单位 k m g

    在Linux中显示文件大小的时候,通常的做法是使用"ls -l",显示的大小是文件的字节大小. 但是,如果文件比较大的话,显示起来不是特别易读,这个时候,可以使用"ls ...

  7. KB MB GB TB PB ZB或是(K M G T P Z)之间的转化

    1KB==1024B 1024字节(Byte)==1KB 1024KB==1MB 1024MB==1GB 1024GB=1TB 1PB=1024GB 1ZB=1024PB简写: Byte=B KB=K ...

  8. 获取磁盘空间大小计算成看k,m,G

    2019独角兽企业重金招聘Python工程师标准>>> /**      * 获取硬盘空间      */     private static long getSdcSpace() ...

  9. (三)Window自带计算器实现换算、运算:快速科学计算、单位换算、二进制十六进制转换与运算、货币换算、长度换算等等

  10. oracle下k M G,INCREMENT_BY的单位是M还是K

    想查找哪些数据文件是自动增加的,但是INCREMENT_BY单位不知道是什么,还有怎么确定数据文件的最大值? SQL> select FILE_NAME,TABLESPACE_NAME,AUTO ...

最新文章

  1. Linux下的格式化字符串漏洞利用姿势
  2. FTP错误 [ftp: connect: No route to host] 解决方法
  3. lucas定理 FOJ 2020 组合
  4. Ubuntu16.04在线安装MongoDB详细教程
  5. SDK 可能是数百万 iPhone 上的特洛伊木马
  6. 在iPhone任何界面截图完整图文教程
  7. 动易CMS 实现ctrl+v粘贴图片并上传、word粘贴带图片
  8. 字节编程题 雀魂启动
  9. POJ-3368 Frequent values
  10. 解忧云SMS短信服务平台系统 短信发送系统源码 全解密随时可以二开无后门
  11. 去哪查阅ISO国际标准?
  12. miktex+WinEdt 安装步骤
  13. 自学Python 45 数字处理函数(三)
  14. 九峰影业创始人_以终为始 逐梦青春——九峰实验学校2020届高三毕业典礼
  15. 【数电】(四)逻辑门电路
  16. 雷达感应模块技术,在智能家电中的应用,智能传感器
  17. Ubuntu关于串口的操作(查看串口信息、串口助手、串口权限)
  18. C++中空类占一字节原因详解
  19. CSV文件处理——填充空值
  20. 数据结构——电话本-顺序表

热门文章

  1. HTML的三种页面布局方式
  2. 短视频直播怎么搭建_直播平台搭建流程
  3. [iOS 逆向 2] 越狱介绍
  4. 微信H5开发,怎样禁止手机横屏
  5. python里面的pip是什么意思_python的pip有什么用
  6. C# RichTextBox 制作文本编辑器
  7. 2020年开始,中国程序员前景一片灰暗,是这样吗?
  8. 谋定而后动,理想不相信热血
  9. 张一鸣:关于创业的4点感悟
  10. js浏览器 文本语音播报