关于 KB/KiB、MB/MiB
ermmm……怎么说呢,这个非常容易搞混,那就写篇 blog 澄清一下吧……
首先贴上百度百科的官方定义
根据国际单位制标准,1KB = 1000B(字节, Byte)。
根据按照 IEC 命名标准 ,用于二进制存储单位的标准命名是 KiB, MiB 等,1KiB = 1024B。这是由数据流的二进制存储法决定的。
简单来说就是以 K、M、G 开头的(kilobyte,megabyte,gigabyte)是以 \(10\) 为底的,而以 Ki、Mi、Gi 开头的(kibibyte,mebibyte,gibibyte)是以 \(2\) 为底的。
不过百度百科上还有一段话
Linux 和 macOS X 采用国际单位制标准命名。但是,Windows xp以下的系统仍然错误地将KiB标记为KB。由于系统仍然以旧的方式记录数据容量,导致混淆已经普遍化,通常 Kilobyte 也可指 Kibibyte,即 1KB = 1024B。
简单来说就是在 IEC 给这东西下定义之前,人们以及混淆了 KB&KiB、MB&MiB 了。故 1KiB 只能等于 1024B,而 KB、MB 视情况而定,比如说 CF 上似乎就把这东西搞混了,128MB 的题 MLE 时显示空间显示 262144KB。
这下搞清楚了吧
关于 KB/KiB、MB/MiB的更多相关文章
- KB/KiB,MB/MiB,GB/GiB了解一下
Kibibyte是一种资讯计量单位,代表1024字节,即210字节,一般简称为KiB.Kibibyte是来自英文 kilo binary byte 的缩写,意思为“千位二进制字节”. 而KB是kilo ...
- Kib Kb KB KIB 区别
今天和同事聊了一下Kib Kb KB KIB这几个单位的含义及其区别,自己在网上也查了查资料,总结如下: Ki 和 K 只是数学单位 Ki = 1024 K = 1000 这二者之间没有任何联系 B ...
- 硬盘存储计量单位KB、MB、GB大小换算
一. 预备知识 1. bit与byte 1. bit(简记为 b) 1 bit = 0 or 1 = one binary 2. byte(简记为 B) 1 byte = 8 bits 1字节,8个二 ...
- iOS 文件大小转换成 KB、MB、GB 。。。
-(NSString *) convertFileSize:(long long)size { ; ; ; if (size >= gb) { return [NSString stringWi ...
- android 获取文件夹、文件的大小 以B、KB、MB、GB 为单位
android 获取文件夹.文件的大小 以B.KB.MB.GB 为单位 public class FileSizeUtil { public static final int SIZETYPE_B ...
- Byte、KB、MB、GB、TB、PB、EB是啥以及它们之间的进率
它们是存储单位 因为计算机存储单位一般用B,KB.MB.GB.TB.PB.EB.ZB.YB.BB来表示,它们之间的关系是: 位 bit (比特)(Binary Digits):存放一位二进制数,即 0 ...
- 什么是位、字节、字、KB、MB
什么是位.字节.字.KB.MB 位:"位(bit)"是电子计算机中最小的数据单位.每一位的状态只能是0或1. 字节:8个二进制位构成1个"字节(Byte)",它 ...
- 1.1 机中容量单位B、KB、MB、GB和TB的关系
字节(Byte,简称B)与K.KB.M.MB的关系 1.计算机中各种存储容量的单位都是用字节(Byte简为B)来表示,此外还有KB.MB.GB和TB,他们的关系是: 1KB=1024Bytes=2的1 ...
- Kb,KB,Kbps,Mb,Mbps等一些列概念
先普及一下Kb,KB,Kbps,Mb,Mbps等一些列概念 1Byte = 8bit1KB (Kilobyte 千字节)=1024Byte1MB (Megabyte,兆字节,简称“兆”)=1024KB ...
随机推荐
- 利用 pip 安装 Python 程序包到个人用户文件夹下
利用 --user 参数,即 pip install --user package_name 这样会将Python 程序包安装到 $HOME/.local 路径下,其中包含三个字文件夹:bin,lib ...
- 安装多个版本的 JDK
安装多个版本的 JDK 刚刚开始学 Java 的时候安装了 JDK9 版本,后续发现还是 JDK8 使用的多些,而又不想删除原先版本 因此安装两个版本的 JDK 在需要是切换一下即可 1. 安装第一个 ...
- activiti会签 多实例例子
在实际的业务中,可能存在存在这么一种情况,当流程运行到某一个环节时,可能需要同时多个人的参与,才可以完成此环节.此时就可以用到activiti的多实例来解决此问题. 一.将一个节点设置成多实例的方法: ...
- 在浏览器上开发GO和Vue!(基于code-server)
在浏览器上开发GO和Vue!(基于code-server) 曾几何时,开发者们都被安装编程环境苦恼,尽管现在很多语言的开发环境已经不难装了,但是如果我们能有一个运行在云端的编译器,那么我们就可以随时随 ...
- Spark面试题(二)
首发于我的个人博客:Spark面试题(二) 1.Spark有哪两种算子? Transformation(转化)算子和Action(执行)算子. 2.Spark有哪些聚合类的算子,我们应该尽量避免什么类 ...
- allegro查看线宽的方法
- C语言基础知识总结大全
1.入门程序 #include <stdio.h> int main() { printf("Hello World!"); return 0; } 2.数据类型 数据 ...
- Git+windows安装教程(一)
一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以 ...
- TLFS 内存分配算法详解
文章目录 1. DSA 背景介绍 1.1 mmheap 1.2 mmblk 2. TLFS 原理 2.1 存储结构 2.2 内存池初始化 2.3 free 2.4 malloc 参考资料 1. DSA ...
- 大一C语言学习笔记(6)---自省篇--流程控制;break,continue,return间的异同;数组应用到循环语句中需要注意的问题;++i 和 i++的异同等。
下面是傻瓜博主"曾经"犯过的错和一些心得: ༼ つ ◕_◕ ༽つ 1.要想流程控制学好,一定要学会化繁为简,举栗子: 三目运算符 (略?略:略)---就是一个数字嘛, ...