• 什么是字节


    原文出处:http://c.biancheng.net/view/140.html

    字节(Byte)是存储数据的基本单位,并且是硬件所能访问的最小单位。

    前面说过,CPU 只能直接处理内存数据,不能直接处理硬盘数据。硬盘数据必须先调入内存条中才可以运行内存中存储数据的最小单位是“位(Bit)”。字节是存储数据的基本单位,位是存储数据的最小单位,不要混淆了。

    内存里面存放的全是二进制代码。内存里面有很多“小格子”,每个“格子”中只能存放一个 0 或 1。一个“小格子”就是一位,所以“位”要么是 0,要么是 1,不可能有比位更小的单位。那么字节和位是什么关系呢?8 个“小格子”就是一字节,即一字节等于 8 位。

    那么为什么硬件所能访问的最小单位是字节,而不是位呢?

    因为硬件是通过地址总线访问内存的,而地址是以字节为单位进行分配的,所以地址总线只能精确到字节。

    那如何控制到它的某一位呢?

    这个只能通过“位运算符”,即通过软件的方式来控制。

    字节换算

    常见的存储单位主要有bit(位)、B(字节)、KB(千字节)、MB(兆字节)、GB(千兆字节)。它们之间主要有如下换算关系:

    1B=8bit
    1KB=1024B
    1MB=1024KB
    1GB=1024MB

    其中 B 是 Byte 的缩写。

    比如计算机的内存是 4GB,那么它能存放多少个 0 或 1(即能存放多少位)呢?4×1024×1024×1024×8 位。因为一个 1024 就是 210,所以结果就相当于 32 个 230 这么多!这就是 4GB 内存条所能存储的数据。

    硬盘也一样,比如计算机的硬盘是 500GB,那么它能存储的数据为 500×1024×1024×1024×8 位,也就是能存放 4000 个 230 这么多的 0 或 1。

    最后讲一个小常识。比如你买了一个 500GB 的硬盘,但是真正显示出来的肯定没有 500GB。那么这是为什么呢?因为计量单位不一样!在买硬盘或 U 盘的时候,卖家所说的,包括包装盒上写的都是以 1000 为单位的,而计算机是以 1024 为单位的。

  • 相关阅读:
    简单工厂,工厂方法和抽象工厂
    谈谈类之间的关联关系与依赖关系(转载)
    redis-cli 命令操作 Redis 五种数据类型
    深入分析java中的反射机制
    深入分析Java中String、StringBuilder、StringBuffer的区别
    String类型为什么设计成不可变的?
    java集合系列(5)LinkedList
    java集合系列(4)fail-fast机制(面试常问)
    java集合系列(3)ArrayList
    java集合系列(2)collection
  • 原文地址:https://www.cnblogs.com/wlyperfect/p/12544380.html
Copyright © 2020-2023  润新知