PHP经验分享程序员

bit比特, Byte字节,基础知识

2019-04-02  本文已影响4人  Brown_

在计算机的存储领域中经常会看到 100Mb和100MB,这样的写法有什么区别?计算机中int是32位还是64位存储说的又是什么呢?这些概念都非常简单,但是时间长了就会搞混,这里简单的讲解一下。

计算机底层存储是二进制的,也就是 10011001这样的形式,那么最底层的存储单位就是bit

1 bit (比特)可以表示 [01] ,转换成整型 0 - 1 。 21 - 1
2 bit (比特)可以表示 [01][01], 转换成整型 0 - 3。22 - 1
n bit (比特) ..... 转换成整型 2n -1

因为历史传承和使用方便优雅等原因(具体可以看《编码》这本书),定义 1 Byte = 8 bit

1 Byte = 8 bit = 28 -1 = 255(插一句,ip 不就是 255.255.255.255 4个 Byte 吗)

那么32位int 什么意思呢?就是4 Byte(4 * 8 = 32 bit ) 长度的整型 。
那么64位int 什么意思呢?就是8 Byte (8 * 8 = 64 bit)长度的整型 。

4 Byte int长度 为 232 - 1 = 4294967295
8 Byte int长度 为 264 - 1 = 18446744073709551999

写到这里都是大家应该会发现这表示的都是正整数,那么负整数怎么办呢?
利用了bit 中 最左边的一位表示正负 0表示+ 1表示 -

那么我们可以得出,

有了基础的知识就可以得出(这里用的是简洁写法 将 1024 简化成 1000)
1KB = 1000 * 1 Byte = 1000 * 8 * bit = 8Kb
1MB = 1000 * 1000 * 1 Byte = 1000 * 1000 * 8 * bit = 8Mb

上一篇 下一篇

猜你喜欢

热点阅读