最适合网络开发者的网站
Java 编程语言。hyperskill 为初学者提供的课程

尿素

信息单位


理论

在整个生命过程中,我们总会找到一些需要衡量的东西:我们需要为家人烹饪的食物量、你想在房间里放的沙发的长度和宽度、我们的体重和身高。后者尤其令人兴奋:得知自己在短短一年内长高了整整 2 英寸,这真的很酷!

每次测量都需要一台仪器和自己的 测量单位比如,体重用公斤(或磅)来计量,时间用钟表以秒为单位来计量,等等。但是,信息又如何计量呢?


§1. 位:信息的最小单位

输入计算机的信息应具体、明确。长期以来,人们一直在使用密码。其中最简单、最方便的是数字。从花名到星期几的任何信息都可以以数字的形式呈现。当使用传统计算机处理时,数据以数字形式编码并存储在文件中,最终由决定计算机运行速度的电信号表示。

为了便于区分,经典电子计算机中采用两级信号。其中一级对应于 1,另一个 0计算机上的任何字母、声音或图像都由一组数字表示。数字 10 叫做二进制这些是构成计算机理解和使用的语言的符号。计算机上的任何信息都由二进制数字表示: 1, 意义 “有信号” 或者“信号很强”0, 意义 “没信号” 或者“信号弱”.

信息的最小单位是 位(b).

机器二进制代码的每一位都携带着相当于一位的信息量。它只能取两个值之一: 1 或者0用比特来测量信息非常不方便,因为数字太大了。


§2. 字节:8 个比特的序列

就像人们不以克为单位来考虑船舶的质量一样,人们也发明了更大、更方便的单位来测量信息。

信息处理在处理器中进行。这是一种可以同时处理多个位(8、16、32、64……)的设备。如今,大多数计算机同时处理 8 位信息,因此我们需要一个新的测量单位,称为 字节(B), 意思是 8 位.

位标记很容易与字节标记混淆。请注意,位数的缩写使用小写字母 “b”,而字节则用大写字母表示 “B”.


§3. 大信息单位

鉴于现代计算机的先进功能,存储容量已经扩大到可以容纳更大的信息单元,超越了传统的字节规模。

计算机行业历来使用单位 千字节, 兆字节, 和 技嘉 在至少两个略有不同的测量系统中,它们彼此略有矛盾。

  • 第一个是基于十进制的系统,它使用十的幂的字节: 千字节 (10^3 字节),兆字节 (10^6 字节),技嘉 (10^9 字节)等等。这些单位由国际单位制 (国际标准)。
  • 第二个系统是基于二进制的系统,使用 2 的幂的字节: 千字节 (2^10 字节),兆字节 (2^20 字节),吉比字节 (2^30 字节) 等等。该系统被广泛用于描述计算机内存。

为了解决这一混乱, 国际电工委员会 (IEC)建议使用前缀公斤, , 和 千兆 仅适用于十进制系统并使用新前缀吉备, 梅比, 和 吉比 二进制系统。这里 方法零: 千字节字节.

以下是按照现代国际标准列出的常用信息单位的表格。

SI 公制 象征 十的幂 IEC 公制 象征 2 的幂
千字节 KB 10^3亿(1000亿) 千比字节 基布 2^10 B(或 1024 B)
兆字节 MB 10^6B(1000KB) 美比字节 密布 2^20 B(或 1024 KiB)
技嘉 英国 10^9B(1000MB) 吉比特 吉布 2^30 B(或 1024 MiB)
太字节 结核病 10^12B(1000GB) 太比字节 硼化钛 2^40 B(或 1024 GiB)
PB 级 10^15B(1000TB) 派比字节 丙二醛 2^50 B(或 1024 TiB)

当然,这里并没有列出所有的计量单位。我们希望这种分类不会让您感到困惑。

请注意,有些人和组织仍然更喜欢 公斤, , 和 千兆 描述 2 的幂。在本课程中,我们遵循 IEC 的建议,并使用现代前缀吉备, 梅比, 和 吉比.


§4. 计量单位换算

为了巩固你新获得的知识,让我们来看一个相当典型的问题的解决方案,你需要将 1 GiB 转换为 KiB。当我们将较大的单位转换为较小的单位时,我们需要求助于一种称为乘法的算术运算:

1 GiB = 1KiB * 1024 * 1024 = 1048576 KiB

因此,当你需要将小单位转换为大单位时,你会使用除法。让我们尝试转换 16384 位到基布:

16384 位 = (16384 / 8) / 1024 = 2 KiB

如果你想转换 1 GBKB,你应该把这个数字乘以一千两次:

1 GB = 1kB * 1000 * 1000 = 1000000 kB

恭喜你,现在你已经学习了计算机科学的基本主题之一,并准备达到新的令人眼花缭乱的知识高度。


§5. 结论

总结一下:

  • 信息的最小单位是比特。
  • 一个字节由8个位组成。
  • 为了计算机科学的方便,我们使用基于二进制的信息单位,例如字节、千比字节、兆比字节等。
  • 要将 1 千字节转换为字节,我们需要将 1 乘以 210 要转换 1 兆字节,我们需要将 1 乘以220, ETC。

您还可以查看 hyperskill.org 上的课程.


实践任务及答案

给出了任务和答案选项。正确选项以 蓝色的 颜色。

№1. 将字节转换为位

问题: 12个字节有多少位?

12 个字节有多少位?如果答案是小数,则用点符号分隔各部分:

答案:输入简短的文字:96


№2. 从小到大

问题: 将信息单位从小到大进行排序。最大的单位应该位于列表的底部。

按正确顺序排列物品:

  • 少量
  • 字节
  • 千字节
  • 兆字节

№3. 将位转换为字节

问题: 256 位有多少个字节?如果答案是小数,则用点符号分隔各部分。

输入简短文本:32


№4. 信息的最小单位

问题: 信息的最小单位叫什么?

从列表中选择一个选项:

  • 千字节
  • 字节
  • 微字节
  • 位✔
  • 微型比特
  • 迷你比特

№5. 声明

问题: 选择关于基于十进制和基于二进制的系统的正确陈述。

从列表中选择一个或多个选项:

  • 基于十进制的系统使用千比字节、兆比字节、吉比字节
  • 十进制系统使用千字节、兆字节、千兆字节✔
  • 基于二进制的系统使用 kibibyte、mebibyte、gibibyte ✔
  • 二进制系统使用千字节、兆字节、千兆字节

№6. 将字节转换为千字节

问题: 1536 B 中有多少 KiB?如果答案是小数,请用点符号分隔各部分。[提示]记住 KiB 和 KB 之间的区别。[/提示]

输入简短文本:1.5


№7. 将 GiB 转换为 MiB

问题: 0.5 GiB 有多少 MiB?

输入简短文本:512


第 8 号 1 和 0

问题: 传统计算机中的任何信息都用二进制数字表示:1 和 0。但它们代表什么?选择所有正确的陈述。

从列表中选择一个或多个选项:

  • 1 不用于呈现信息
  • 0 表示“无信号”✔
  • 0 不用于呈现信息
  • 0 表示“有信号”
  • 1 表示“无信号”
  • 1 表示“有信号”✔

№9. 信息单位

问题: 将信息单位与其值进行匹配:

匹配左列和右列的项目:

  • 1 千字节 = 1000 字节
  • 1 兆字节 = 1000 千字节
  • 1 千兆字节 = 1000 兆字节
  • 1 兆兆字节 = 1000 千兆字节
  • 1 PB = 1000 TB

№10. 在函数中将字节转换为千字节

嗨!这个问题可能有点难以预测,但请尝试一下,然后告诉我们你的表现!

问题: 给定一定数量的字节,您的任务是将它们转换为千字节。但是,执行此操作的函数似乎尚未完成。您的任务是填写提供的 Python 函数中的空白,以准确地将给定的字节数转换为千字节。此函数以整数作为参数,表示字节数,并返回千字节值的格式化字符串表示形式。

使用相关代码元素填补空白:

def bytes_to_kilobytes(字节):
返回 f"{bytes / 1024} 千字节"

打印(字节到千字节(5000))

变体:字节、1024、千字节。


№11. 完成文件大小转换功能

嗨!这个问题可能有点难以预测,但请尝试一下,然后告诉我们你的表现!

问题: 您已收到一段代码片段,用于将文件大小从字节转换为千字节并打印结果。但是,代码的某些部分缺失。您的任务是确定哪些值或代码语句将正确填充代码中的空白(标有“▭”),以便函数正常运行。请记住,1 千字节等于 1024 字节:

使用相关代码元素填补空白:

def convert_bytes_to_kilobytes():
千字节 = 字节 /
返回 str(千字节) + " "

字节大小 = 5120
打印(将字节转换为千字节(字节大小))

变体:KB、字节、1024。

解决方案:

填补空白的正确代码是:

def convert_bytes_to_kilobytes(字节):
千字节 = 字节 / 1024
返回 str(千字节) + " KB"

字节大小 = 5120
打印(将字节转换为千字节(字节大小))

解释。 这将定义一个函数 convert_bytes_to_kilobytes(),该函数接受一个字节参数并以附加“KB”的字符串形式返回以千字节为单位的大小。该函数通过将字节数除以 1024 来计算以千字节为单位的大小。bytes_size 变量设置为 5120,这是要转换为千字节的字节数。最后,print() 函数用于使用 bytes_size 参数调用 convert_bytes_to_kilobytes() 并打印结果。