一. 预备知识

1. bit与byte

1. bit(简记为 b)

    1 bit = 0 or 1 = one binary

2. byte(简记为 B)

    1 byte = 8 bits    1字节,8个二进制位元

2. 标准十进制度量体系倍率关系

符号 含义 十进制展开 指数表示
k (kilo) thousand (千) 1,000 1e+3
M (mega) million (百万) 1,000,000 1e+6
G (giga) billion (十亿) 1,000,000,000 1e+9
T (tera) trillion (万亿) 1,000,000,000,000 1e+12
  • (1e+3=1e3=1x10^3)

二. 两种数据存储容量计算方式

1. Microsoft Windows中表示数据存储容量(1,024倍)

本条以下KB、MB、GB……正确表示应该是KiB、MiB、GiB…… 原因:微软误用简写

  • 1 KB (Kilobyte) = 2^10 bytes 千字节
  • 1 MB (Megabyte) = 2^20 bytes 兆字节
  • 1 GB (Gigabyte = 2^30 bytes 千兆字节或吉字节
  • 1 TB (Terabyte) = 2^40 bytes 太字节
  • 1 PB (Petabyte) = 2^50 bytes
  • 1 EB (Exabyte) = 2^60 bytes
  • 1 ZB (Zettabyte) = 2^70 bytes
  • 1 YB (Yottabyte) = 2^80 bytes
  • 1 BB (Brontobyte) = 2^90 bytes

2. 硬盘生厂商(大多数)结合十进制来计算容量(1,000倍)

这就是在wondows操作系统中显示的容量比厂家标志的容量要小一些的原因(大概少7%,如64GB的U盘在windows上显示接近60GB)

  • 1 KB = 10^3 bytes = 1,000 bytes
  • 1 MB = 10^6 bytes = 1,000,000 bytes
  • 1 GB = 10^9 bytes = 1,000,000,000 bytes
  • 1 TB = 10^12 bytes = 1,000,000,000,000 bytes
  • 1 PB = 10^15 bytes
  • 1 EB = 10^18 bytes
  • 1 ZB = 10^21 bytes
  • 1 YB = 10^24 bytes
  • 1 BB = 10^27 bytes

3. 混淆起因

  • 由于以上两点原因,1 MB 可能就是1 MB (1,000倍的关系), 也可能是1 MiB(1,024倍的关系)。同样的有1 KB、1MB、1GB……根据具体情况区分就好

三. 正确表示

  • KiB = Kibibyte = Kilo binary byte
  • MiB = Mebibyte = Mega binary byte
  • GiB = Gibibyte = Giga binary byte
  • TiB = Tibibyte = Tera binary byte

  • 1 GB = 1,000 MB = 1,000,000 KB = 1,000,000,000 B (1,000倍)
  • 1 GiB = 1,024 MiB = 1,048,576 KiB = 107,374,1824 B (1,024倍)

除微软Windows操作系统外,其他操作系统基本上对于存储设备的容量计算方式与硬盘厂商一致,均为1GB = 1,000,000,000 bytes, 避免了计算和使用上的麻烦。linux系统更是对如GiB和GB有严格正确的区分,不会混淆二者。


(本文完)

硬盘存储计量单位KB、MB、GB大小换算的更多相关文章

  1. 计算机存储单位KB,MB,GB,TB,PB,EB,ZB,YB后面是什么?

    关于计算机存储单位KB,MB,GB,TB,PB,EB,ZB,YB后面是什么? 我们知道Kb是1000的1次方,所以 MB就是1000的2次方(106) GB就是1000的3次方(109) TB就是10 ...

  2. 计算机硬盘大小转换(B,KB,MB,GB,TB,PB之间的大小转换)

    程序猿都非常懒.你懂的! java程序猿在实际的开发中会遇到非常多的单位换算问题.今天我给大家带来的是关于计算机硬盘大小的换算.多数情况下.一般要求b,kb,mb,gb,tb,pb之间的大小转换,我们 ...

  3. Java计算机硬盘大小转换(B,KB,MB,GB,TB,PB之间的大小转换)

    程序员都很懒,你懂的! java程序员在实际的开发中会遇到很多的单位换算问题.今天我给大家带来的是关于计算机硬盘大小的换算.多数情况下,一般要求 b,kb,mb,gb,tb,pb之间的大小转换,我们都 ...

  4. 我的Android进阶之旅------>Java文件大小转换工具类 (B,KB,MB,GB,TB,PB之间的大小转换)

    Java文件大小转换工具类 (B,KB,MB,GB,TB,PB之间的大小转换) 有时候要做出如下所示的展示文件大小的效果时候,需要对文件大小进行转换,然后再进行相关的代码逻辑编写. 下面是一个Java ...

  5. 取文件的大小 (KB,MB,GB...)

    取文件的大小 (KB,MB,GB...) 2种方式: VB 和 C# 1,  VB Public Function GetFileSize(ByVal iFileSizeKB As Long) As ...

  6. KB/MB/GB。。单位换算

    今天遇到一个需求,需要把数据单位进行换算,记录一下.写的不好请勿见怪. function bytesToSize( bytes ) {//单位转化         var k = 1024,      ...

  7. 字节b换算kb/mb/gb/tb/pb

    public static string HumanReadableFilesize(double size) { string[] units = new string[] { "B&qu ...

  8. Bit,Bytes,KB,MB,GB,TB,PB,EB,ZB,YB

    Bit,Bytes,KB,MB,GB,TB,PB,EB,ZB,YB 汉字字符 2字节英文字符 1字节中文标点 2字节英文标点 1字节一个字节就是一个八位二进制数啊,2就是00000010,4就是000 ...

  9. JS数据容量单位转换(kb,mb,gb,tb)

    JS代码如下: var size = '8164674'; function bytesToSize(bytes) { if (bytes === 0) return '0 B'; var k = 1 ...

随机推荐

  1. Python系列 - 进程和线程

    进程和线程 可以通过ucos-Ⅱ来学习相关的基础,很好的学习资料 进程 假如有两个程序A和B,程序A在执行到一半的过程中,需要读取大量的数据输入(I/O操作), 而此时CPU只能静静地等待任务A读取完 ...

  2. 追女神助手v0.1

    #-*-coding:utf8-*- import smtplib from email.mime.text import MIMEText import requests from lxml imp ...

  3. scrapy爬取小说盗墓笔记

    # -*- coding: utf-8 -*- import scrapy from daomu.items import DaomuItem class DaomuspiderSpider(scra ...

  4. 那些年,曾踩过的Spark坑

    1.报错18/01/25 14:56:58 ERROR executor.CoarseGrainedExecutorBackend: Driver 127.0.0.1:37159 disassocia ...

  5. CentOS 7 安装Boost 1.61

    1. 到官网下载最新版的boost,http://www.boost.org/users/history/version_1_61_0.html 2. 解压: tar zxvf boost_1_61_ ...

  6. glut 深度测试无不起作用问题解决

    OpenGL中使用glEnable(GL_DEPTH_TEST)后深度测试没有起作用,发现深度缓冲没有创建.glut库在兼容模式(GL_COMPATIBILITY_PROFILE)下displaymo ...

  7. [C#]设计模式-工厂方法-创建型模式

    介绍完简单工厂之后,现在就来介绍一下工厂方法模式.之前简单工厂有一个弊端就是每次你需要产生新的产品的时候都需要对创建工厂类进行更改,如同前一篇文章说过的一样最后的后果是工厂类会变得十分庞大. 而工厂方 ...

  8. webpack构建react项目(一)

    前言 下面是我们使用到技术栈: webpack + react + redux + react-router + react-thunk + ES6 + .... 注意事项: 建议使用npm5.X 或 ...

  9. electron通讯

    Electron桌面应用实现两个窗口(渲染进程)之间的通讯,传输数据: 方法1:在两个网页(渲染进程)间共享数据最简单的方法是使用浏览器中已经实现的 HTML5 API. 其中比较好的方案是用 Sto ...

  10. mongo 服务化与删除

    MONGO  服务化 使用超级用户进入cmd到D:\mongodb\bin> 日志文件需要提前创建 mongod --bind_ip 0.0.0.0 --logpath D:\mongodb\d ...