千字节/兆字节/太字节的表示

2023-12-09

我对不同字节单位的表示有点困惑。

自始至终都认为 1 字节 = 8 位。

然而,在很多来源中我看到

1 KB = 2^10 字节 = 1024 字节

AND

1 KB = 1000 字节

这不就是顶撞在这两种情况下都规定 1 字节是 8 位...?

不同的来源对这些不同的表示有不同的原因,因此我不确定这种相当令人困惑的表示差异的最重要/真正的原因是什么。

有人可以解释和澄清吗?


1 字节 = 8 位是公认的

然而,在很多来源中我看到

1 千字节 = 2^ 10 字节 = 1024 字节

AND

1 KB = 1000 字节

为了确保我们都清楚,您的问题是“1 KB 等于 1024 字节还是 1000 字节?”。

这是否矛盾,因为在这两种情况下都规定 1 字节是 8 位......?

这与问题无关。

那么,让我们开始吧。在SI(公制)中,1000的乘数称为kilo,缩写为k。 kalways意思是 1000,没有别的意思。

When binary computers entered the world, we noticed that 2 to the power of 10 is 1024, which is conveniently close to 1000. Computer engineers decided to abuse this coincidence and say that kilo means 1024. By extension, they say that mega means 10242 (instead of the proper definition of 10002), and so on with giga, tera, etc.

While the difference between 1000 and 1024 is small for many purposes, there are times when exact answers are required, and this is where the abusive terminology hurts everyone. Only after decades after kilo=1024 got established did anyone really try to fix the problem. The IEC proposed new prefixes for the binary multipliers: 1024 = kibi, 10242 = mebi, 10243 = gibi, etc.

总之,kilo=1024 的概念是对 kilo=1000 的一致 SI 定义的滥用。虽然 kilo=1024 在计算机行业很流行,但它仍然是错误的,应该替换为 kibi=1024。或者需要重新计算数字以反映千/兆/等的真实定义。 (例如,“512 MB”的 RAM 实际上约为 536.9 MB。)

顺便说一句,不要使用随机大写;它的拼写是千字节,而不是千字节。

参考资料和链接:

  • http://physical.nist.gov/cuu/Units/binary.html
  • http://en.wikipedia.org/wiki/Kilo-
  • http://en.wikipedia.org/wiki/Kilobyte
  • http://en.wikipedia.org/wiki/Kibibyte
  • http://xkcd.com/394/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

千字节/兆字节/太字节的表示 的相关文章

  • 使用 .NET StringDictionary 通过列表/字典进行前缀搜索?

    我想知道 NET 是否提供任何标准功能来通过列表或字典对象进行前缀搜索 我遇到了StringDictionary 但不知道它是否可以为我做到这一点 如果它可以进行前缀搜索 它也可以进行子字符串搜索或让我使用正则表达式之类的东西进行搜索吗 提
  • Java中将short转换为byte[]

    我怎样才能转换short 2 个字节 到 Java 中的字节数组 例如 short x 233 byte ret new byte 2 应该是这样的 但不确定 0xFF lt lt 8 x gt gt 0 EDIT 您还可以使用 java
  • 在c中获取浮点数的指数

    抱歉 如果已经有人问过这个问题 并且我已经看到了提取浮点数指数的其他方法 但这就是给我的 unsigned f2i float f union unsigned i float f x x i 0 x f f return x i 我无法理
  • int b=0,a=1;b=++a+++a; b 的值是多少?它的计算方法是什么? [复制]

    这个问题在这里已经有答案了 int main int b 0 a 1 initialize a and b b a a calculate assign the value of b print f d b return 0 b 的值是多少
  • 在 lua 中使用相等运算符比较数字有多安全?

    在我的引擎中 我有一个用于脚本编写的 Lua VM 在脚本中 我写了这样的内容 stage stage 1 if stage 5 then end and objnum tonumber 5 if stage objnum 根据 Lua 来
  • 如何在 Oracle PLSQL 中将数字的小数位数扩展到最少?

    我不知道如何选择以下内容 123 gt 123 00000 123 12 gt 123 12000 123 123456 gt 123 123456 我想将小数位数扩展到例如 5 位小数 最少 如果根本没有小数位 则应该有 5 个零 小数点
  • 如何验证字符串是否是有效的浮点数? [复制]

    这个问题在这里已经有答案了 我想做的是验证字符串是否是数字 浮点数 但我还没有找到可以执行此操作的字符串属性 也许没有一个 我对这段代码有问题 N raw input Ingresa Nanometros if N and N isdigi
  • 使用 Cp500 编码陌生事物(LF 和 NEL)

    最近 在从字节转换为字符串 然后再从字符串转换为字节的过程中 我遇到了 Cp500 EBCDIC 编码的奇怪问题 问题在于一个特定的角色就是在这个转变过程中 被转变为这个角色 下面的代码验证了这一点 byte b25 0x25 byte b
  • 查找字符串的*最*常见前缀 - 更好的方法吗?

    我有一个钥匙列表 foo a foo b foo c fnord 这里所有类似的解决方案都假设您没有fnord在你的文字中 我有这个代码可以完成这项工作 def detect prefix keys PCT 0 70 cutof pre l
  • 在 Swift 中将 bytes/UInt8 数组转换为 Int

    如何将4字节数组转换为对应的Int let array UInt8 gt let value Int Example Input 0 0 0 x0e Output 14 我在互联网上找到的一些代码不起作用 let data NSData b
  • 快速字符串到 byte[] 的转换

    目前我正在使用此代码将字符串转换为字节数组 var tempByte System Text Encoding UTF8 GetBytes tempText 我在我的应用程序中经常调用这一行 并且我真的很想使用更快的 如何比默认的 GetB
  • Java boolean[] 到 byte[] 以及返回

    我正在发送byte Java 中通过套接字连接的数组 我有一个相当长的boolean 数组 其中array length 8 0 我想转换这个boolean 数组变成byte 数组的元素数量是原来的 8 倍 这样我就可以发送byte 通过套
  • C++ - 通过添加字节整数来向前移动 char 指针是否合法/推荐?

    我正在寻找一些方法来将指针推进到压缩档案中的文件开头 我有一个指向已读入内存的文件开头的字符指针 归档目录包含每个文件的偏移量 是否合法 建议这样说 char beginning Imagine this is assigned to th
  • 将 css 宽度字符串转换为常规数字

    在尝试计算隐藏元素的宽度时 我发现 jquery width 对于该元素的宽度返回 0 我发现使用 jquery css width 将通过使用声明的样式宽度返回正确的宽度 即使该值与初始样式表不同 问题是 css width 方法返回一个
  • 如何在Java中读取文件的最后“n”个字节

    如何在不使用 RandomAccessFile 的情况下从文件中读取最后 n 个字节 我的文件中的最后 6 个字节包含写回文件时的重要信息 我需要写入原始文件 然后将最后 6 个字节附加到其他地方 有什么指导吗 谢谢 你必须使用随机存取文件
  • 可以匹配具有任意小数位数的非零浮点数的最短正则表达式是什么?

    可以匹配具有任意小数位数的非零浮点数的最短正则表达式是什么 它应该接受像这样的数字 1 5 9652 7 00002 0 8 0 0500 0 58000 0 01 0 000005 0 9900 5 7 5 7 005 但拒绝诸如 02
  • 如何分析Android应用程序的电池使用情况并对其进行优化?

    我想分析我的应用程序的电池使用情况 我的意思是应用程序的各个部分 例如 广播接收器 监听器 服务等 使用多少电池 我需要一个详细的列表 从列表中 我想优化电池的使用 方法与使用内存分析器类似 http android developers
  • 如何使用 System.out.println 以十六进制打印字节?

    我已经声明了一个字节数组 我使用的是 Java byte test new byte 3 test 0 0x0A test 1 0xFF test 2 0x01 如何打印数组中存储的不同值 如果我使用 System out println
  • 从内存中发送图像

    我正在尝试为 Discord 机器人实现一个系统 该系统可以动态修改图像并将其发送给机器人用户 为此 我决定使用 Pillow PIL 库 因为它对于我的目的来说似乎简单明了 这是我的工作代码的示例 它加载一个示例图像 作为测试修改 在其上
  • 在 php 中将单词转换为数字 II

    这里有一个很棒的功能在 PHP 中将单词转换为数字 https stackoverflow com questions 1077600 converting words to numbers in php来自埃尔约博 但我有一个问题 字符串

随机推荐

  • 对 XML 文档的各个部分进行数字签名

    我有一个 XML 文档 其结构类似于以下内容
  • jsf 模板中的后台 url 路径

    我在这里遇到麻烦了 我有一个 JSF 应用程序 它有一个名为的模板文件基本模板 xhtml 该文件位于 resources template 文件夹中 遵循文件代码
  • 如何在从datalab运行的数据流管道中使用谷歌云存储

    我们一直在 datalab 中运行一个 Python 管道 该管道从 google 云存储中的存储桶中读取图像文件 导入 google datalab storage 最初我们使用 DirectRunner 效果很好 但现在我们尝试使用 D
  • 为什么 python max('a', 5) 返回字符串值?

    追溯一个ValueError cannot convert float NaN to integer我发现该行 max a 5 max 5 a 将返回a而不是 5 在上面的例子中我使用了示例字符串a但在我的实际情况下 字符串是NaN 拟合过
  • Spring中如何在请求参数中发送特殊字符

    如何处理请求参数中的特殊字符 这是我的控制器 Scope request RestController public class GetOperatorSeries RequestMapping value test method Requ
  • 为什么易失性不能正常工作

    今天我正在使用以下命令创建一项超时作业TimerTask但遇到了一个新问题 我有一个static volatile boolean多变的flag 我的理解是 一旦这个变量的值发生变化 所有正在运行的都会通知它thread 但是当我运行这个程
  • 模拟 Java 输入流

    请提供指针来帮助我模拟 java InputStream 对象 这是我希望模拟的代码行 InputStreamReader inputData new InputStreamReader System in bufferdReader ne
  • 在sql server中执行python脚本

    Experts 只是好奇想知道 有没有办法在任何sql服务器中执行python脚本 如果是这样 请给我提供一些参考链接 要在 sql server 中执行 python 脚本 请参考此question 欲了解更多详细信息 请阅读此内容doc
  • Angular2 Beta 依赖注入

    我有一个加载 QApi 服务的 NavBar 组件 QApi 服务加载 UserService 但出现以下错误 EXCEPTION No provider for UserService NavBarComponent gt QApi gt
  • 如何让Android Service与Activity通信

    我正在编写我的第一个 Android 应用程序 并试图了解服务和活动之间的通信 我有一个服务将在后台运行并执行一些 GPS 和基于时间的日志记录 我将有一个用于启动和停止服务的活动 因此 首先 我需要能够确定活动启动时服务是否正在运行 这里
  • iPhone 所有视图控制器都有一个标题

    我有一个带有选项卡栏控制器 带有 4 个视图控制器 的应用程序 它包含一个导航控制器 所有这些都是以编程方式创建的 我的问题 有没有一种方法可以为所有视图控制器设置一个导航栏标题 例如 当我切换选项卡时 标题是相同的 对我来说理想的解决方案
  • 在 SELECT 列表中的其他位置引用别名

    我有以下查询 select FirstName LastName Case When LastName Jones then N A End as Other Case When Other is not null then 1 else
  • 为什么这些 apt 软件包在 Ubuntu 和 Heroku 上的行为不一样?

    我想用ZBar从Python开始Heroku 在常规 Ubuntu 14 04 服务器上我可以运行 sudo apt get install python qrtools OR sudo apt get install zbar tools
  • 如何使用 ASP.NET 解析 JSON 字符串?

    我正在使用 Sendgrid API 发送和检索已发送邮件的统计信息 我想将 API 的响应存储在数据库中 protected void btnBounces Click object sender EventArgs e try stri
  • android java.lang.IllegalStateException:无法从 CursorWindow 读取第 0 行、第 0 列

    我正在开发一个应用程序 它下载一些文件并将其文本保存在 file content 字段中到数据库中 文件大小可以从几 KB 到 10 MB 不等 该应用程序在保存时适用于所有尺寸 在长 file content 记录上使用 select 语
  • Plotly:带有下拉菜单的散点图,用于更改数据和计算注释

    我正在尝试制作一个带有 2 个下拉菜单的散点图 用于选择要绘制 x 轴和 y 轴的数据列 来自 pandas 数据框 我还希望该图具有随下拉选择而变化的相关统计注释 因为注释是根据 x 和 y 数据作为参数计算的 我已经成功地使用下面的代码
  • 使用操作按钮刷新主面板屏幕

    我正在构建一个闪亮的应用程序 我想刷新主面板屏幕 这是示例代码 我有一个提交按钮来显示数据 我有一个刷新按钮来清除屏幕 我不太确定如何在 R 和闪亮中编写重新刷新按钮的代码 因为我对此很陌生 感谢您的关注 library DT ui lt
  • React hooks useEffect 第二次调用 API 和第一次调用 API 响应也返回

    我正在使用 useEffect 获取 API 并且 API 响应正确 例如 response message This is a image link status success error null 第二次 当我收到下一个 API 调用
  • 在 Android 中的 ViewPager 中将子 Fragment 添加到父 Fragment

    I m developing an app that has some tabs something like this 每个选项卡都是一个 Fragment 每个 Fragment 显示文章 类别和一些其他信息的列表视图 我想做的是 当我
  • 千字节/兆字节/太字节的表示

    我对不同字节单位的表示有点困惑 自始至终都认为 1 字节 8 位 然而 在很多来源中我看到 1 KB 2 10 字节 1024 字节 AND 1 KB 1000 字节 这不就是顶撞在这两种情况下都规定 1 字节是 8 位 不同的来源对这些不