Ctool
Ctool copied to clipboard
关于 其他 单位换算 数据存储 逻辑bug
数据存储 转化中 使用的单位有问题
存储单位有两种计量模式
- 由 bytes IEC (International Electrotechnical Commission 国际电工委员会) 制定的以2为进制的,如 1 KB = 1024 bytes,1 MB = 1024 KB,1 GB = 1024 MB 等等。这种表示方式通常用于计算机和 IT 领域。
- 由 bytes SI (International System of Units 国际单位制) 制定的以10为进制的,如 1 KB = 1000 bytes,1 MB = 1000 KB,1 GB = 1000 MB 等等来表示。这种表示方式通常用于科学和工程领域。
两种表示方式的区别在于 IEC 使用的是更直观的单位,而 SI 则更符合国际标准。
| 数据单位 | 定义标准 | 用途 | 最小数据单位 | 换算关系 |
|---|---|---|---|---|
| bytes(IEC) | IEC(国际电工委员会) | 计算机存储容量 | 1 byte | |
| bytes(SI) | SI(国际单位制) | 计算机存储容量 | 1 byte | |
| bit(IEC) | IEC(国际电工委员会) | 数据传输速度、网络带宽 | 1 bit | 1 byte = 8 bit |
| bit(SI) | SI(国际单位制) | 数据传输速度、网络带宽 | 1 bit | 1 byte = 8 bit |
二进制(计算机使用较多)
| 名字 | 缩写 | 次方 |
|---|---|---|
| kibibyte | KiB | 2^10 |
| mebibyte | MiB | 2^20 |
| gibibyte | GiB | 2^30 |
| tebibyte | TiB | 2^40 |
| pebibyte | PiB | 2^50 |
| exbibyte | EiB | 2^60 |
| zebibyte | ZiB | 2^70 |
| yobibyte | YiB | 2^80 |
十进制(硬盘厂商使用较多)
| 名字 | 缩写 | 次方 |
|---|---|---|
| 千字节 | KB | 10^3 |
| 兆字节 | MB | 10^6 |
| 吉字节 | GB | 10^9 |
| 太字节 | TB | 10^12 |
| 拍字节 | PB | 10^15 |
| 艾字节 | EB | 10^18 |
| 泽字节 | ZB | 10^21 |
| 尧字节 | YB | 10^24 |
| 容字节 | RB | 10^27 |
| 昆字节 | QB | 10^30 |
详情可以参考:维基百科中关于 Mebibyte的定义 :https://zh.wikipedia.org/zh-hans/Mebibyte
目前存在问题:
在其他->单位换算->数据存储 页面
- 实际的计算是使用的以 2 为进制的 IEC 规范,但是页面上显示的单位 mb,tb等是 SI 的单位。应该使用IEC规范,如: kibibyte(KiB),mebibyte(MiB),gibibyte(GiB)等
- 页面中的千字节,兆字节等属于 SI 规范,实际确是 IEC 规范
迭代建议
- 方向一:直接将单位修改正确修改为IEC规范,如:kibibyte(KiB),mebibyte(MiB),gibibyte(GiB)等
- 方向二(推荐):作为一个通用的单位转化工具,应该尽可能全面的进行功能迭代,建议如下:
- 使用一个页面
- 分别输出 IEC 单位转化结果和 Si单位转化结果
- 分别在IEC 单位和Si单位标题上说明进制和区别
- 方向三(推荐)
- 使用两个数据存储页面,分别为 IEC 和 SI 数据存储转化
- 提供转化功能的同时在页面上说面两者的区别和进制单位,建议附上wiki的说明,例如维基百科或者其他百科。
问题进阶
除了以上提到的单位 其实还有一些是我个人不太想搞清楚的内容 eg:
- Gb(Gigabit)是指十进制的千兆位,即10^9位。
- GB(Gigabyte)是指十进制的千兆字节,即10^9字节。
- Gib(Gibibit)是指二进制的千兆位,即2^30位。
- GiB(Gibibyte)是指二进制的千兆字节,即2^30字节。
建议:只实现 GiB 和 GB 这种,其他的可以暂时不考虑,个人感觉用的比较多的是 GiB 和 GB,如果开发者有兴趣,可以打开 windows 的计算器(win10及以上版本),切换到 数据 自己实验一下:
非常感谢如此详尽的描述
后续我会根据你提供的资料来优化该功能
会将这两种计量模式均展示在页面(方向二)