• 易混淆的进制和文件大小(比特、字节、size on disk)


    字节和比特

    byte(字节) 缩写 B,bit (比特)缩写 b。

    bit 是计算机中最小的单位,常用于带宽。

    byte 是信息计量单位,常用于文件大小。

    进制

    1byte = 8 bit

    往上 KB, MB, GB, TB, PB...的进制分为1024 和1000,根据场景选用。

    这种混用是历史原因造成的,详见下文:

    The kilobyte is a multiple of the unit byte for digital information. Although the SI prefix kilo- means 1000, the term kilobyte and symbol KB have historically been used to refer to either 1024 (2^10) bytes or 1000 (10^3) bytes, dependent upon context, in the fields of computer science and information technology.

    For example, when referring to data transfer rate and to disk storage space, “kilobyte” means 1000 (10^3) bytes. On the other hand, random-access memory capacity such as CPU cache measurements are always stated in multiples of 1024 (2^10) bytes, due to memory’s binary addressing.

    即,1024用于计算机领域(如:CPU缓存大小),1000用于信息技术(如:数据传输速率、磁盘存储空间)。

    后来未免混淆,1024进制的KB MB GB TB,可写为 KiB MiB GiB ,不过普及率不高。

    易混淆的场景

    1. 硬盘大小

    厂商标注的硬盘大小,进制是1000;电脑计算文件的大小,进制是1024,所以在电脑上查看时,会发现比标注的容量更小(听说这是生产标准而已,不是忽悠人)。

    2. 网速、带宽

    网络带宽的统计单位是b(所以才叫比特率率嘛!)单位一般用Mbps,Gbps,进制1000。
    举个栗子:家里面宽带是4兆的,最高的下载速度能达到多少?

    下载软件(如:迅雷)采用的Bps为下载单位,因为下载的是文件,使用用存储单位。

    而某些流量监控软件,也跟风使用 B ,就不是很合适了,网速应该用网络单位 b 呀

    3. OS X 和 Window 

    Apple认为1GB=1 000 000 000字节,Microsoft认为1GB=1 073 741 824字节

    所以同一个文件,在 os x 和 window 上显示的大小不同,不过点开详情看显示多少 bytes时就一样了。

     Size on disk 

    一个119,175 bytes大小的文件,在 windows 上右键戳开 properties 会看到:

    size:116 KB(除以1024再四舍五入,不戳properties查看详情时显示的是117 KB )

    size on disk :120 KB (122,880 bytes)

    这是因为磁盘分区格式为 NTFS,分簇为4096 B,所以填不满一个分簇也得把其中剩下的大小分配给该文件。

    即,在这个例子中,29个分簇放不下119,175 B,就得分30个分簇,也就是122,880 bytes 了。

    当然,如果是在采用1000进制的 MAC 上,文件大小是119K,command i 会看到:

    size: 119,175 bytes (123 KB on disk)

    参考链接:https://higoge.github.io/2015/06/23/basic01/

    ________你所记的,都是假的。
  • 相关阅读:
    【linux之web服务器apache】
    【linux工具之sed实例】
    【linux工具之strace】
    【linux工具之iptables 脚本】
    【linux工具之iptables】
    【Linux抓包工具之tcpdump】
    【抓包工具之wireshark】
    【Linux 基础服务之DNS】
    c语言
    sf
  • 原文地址:https://www.cnblogs.com/pudding-ai/p/6063127.html
Copyright © 2020-2023  润新知