Linux系统下GiB和GB的换算详细解析

简介

GiB和GB都是磁盘容量表示的单位,具体换算如下:

GiB(Gibibyte)是信息或计算机硬盘存储的一个单位
1KiB = 1024 Byte
1MiB = 1024 KiB = 1048576 Byte
1GiB = 1024 MiB
1TiB = 1024 GiB
GB(gigabyte)是十进制的容量单位
1KB=1000Byte
1MB=1000KB
1GB=1000MB
1TB=1000GB

目前linux系统中查看磁盘容量大小的工具如parted、fdisk都是以内核读取的磁盘块数量再进行换算而来,具体磁盘块数量查看命令:

[root@localhost /]# cat /sys/block/sda/size 
1218663424

可以通过该块数量去换算成GiB和GB:

具体实例:

磁盘每一块默认是包含512Byte,换算GiB过程:

1218663424*512/1024/1024/1024=581.1040GiB

与fdisk显示一致。
在这里插入图片描述

同理换算GB过程:

1218663424*512/1000/1000/1000=623.9557GB

与parted显示一致。
在这里插入图片描述

注:parted显示的是GB单位,fdisk是显示的GiB单位。

分区误差解析:
在安装linux系统进行自动全盘分区后会出现磁盘末端分区位置不是磁盘最后块位置,具体如上fdisk查看磁盘信息图所示。
原因有如下:
在获取磁盘具体数量后会进行四舍五入运算显示以GiB和GB为单位的数值,最终显示磁盘大小比实际偏大,如上parted显示的磁盘容量就比实际的偏大,因为其换算后采用四舍五入操作,因此在安装全盘分区时,会进行舍去末尾小数操作,防止磁盘分区失败,最终分区下来的块位置与磁盘块位置不一致的情况。
磁盘其他知识链接:MBR和GPT磁盘分区表类型对比详解

### GiB、MiB GB换算关系 在计算机科学领域,存在两种不同的存储单位表示方法:二进制前缀(用于描述数据量的实际位数)十进制前缀(通常由制造商标注)。具体来说: - **GB (Gigabyte)** 是基于十进制系统的度量单位,在这种情况下 \(1\, \text{GB} = 10^9\) 字节[^1]。 - **GiB (Gibibyte)** 则遵循的是二进制标准,其中 \(1\,\text{GiB}=2^{30}\)字节。 因此,当涉及到从一种体系到另一种的转换时,可以发现两者之间存在着差异。例如: \[1\, \text{GiB} ≈ 1.07374\, \text{GB}\] 同样的逻辑也适用于较小规模的数据单元比如 MiB 对应 MB : - **MB (Megabyte)** 表示 \(1\, \text{MB} = 10^6\) 字节, - 而 **MiB (Mebibyte)** 定义为 \(1\, \text{MiB} = 2^{20}\) 字节, 这意味着大约有如下比例关系成立: \[1\, \text{MiB} ≈ 1.048576\, \text{MB}\] 为了更直观地展示这些概念间的联系,下面给出了一段 Python 代码来帮助理解验证上述提到的各种单位间的关系。 ```python def convert_units(value, from_unit='MiB', to_unit='MB'): binary_prefixes = {'KiB': 2**10, 'MiB': 2**20, 'GiB': 2**30} decimal_prefixes = {'KB': 10**3, 'MB': 10**6, 'GB': 10**9} if from_unit in binary_prefixes and to_unit in decimal_prefixes: converted_value = value * (binary_prefixes[from_unit] / decimal_prefixes[to_unit]) return round(converted_value, 6) # 测试不同单位之间的转换 print(f"1 MiB is approximately {convert_units(1, 'MiB', 'MB')} MB") print(f"1 GiB is approximately {convert_units(1, 'GiB', 'GB')} GB") ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值