• 计算机中,为什么一个字节是8位?


    说这个问题的时候,首先提一下ASCII编码作为切入比较容易理解一点;

    ASCII编码:全称American Standard Code for information Interchange,翻译过来就是美国信息交换标准码。

    ASCII编码作用:就是编码,那什么又是编码?我个人理解编码就跟江湖中的好汉劫富济贫时所用的暗语一样,栗子:风来了(只有好汉知道这个词的意思),就表示官兵来了。江湖上用“风来了”用来编码“官兵来了”,这就是江湖上使用的一套编码体系。而ASCII码就是计算机中的一套编码体系,用一串二进制数字(计算机认识)表示我们现实生活中的一些字符啊数字之类的东西。说的不好听点跟见人说人话,见鬼说鬼话有异曲同工之妙!

    标准表

    很可能大家都注意到了,第一列的二进制使用了8个二进制位(8个0、1)。对应的十进制到了最大的127,那为什么是8位呢?因为这套编码系统是美国统一的标准,对美国人来说;所有字符包括单词,标点符号都全部都囊括进了这128(0~127)个字符,美国人用完全就够了。是不是比我们8万+的汉字总量相比逊色多了。简单YY下。

    这就是最初为什么一个字节(1B)用8个二进制位(8b)来表示的由来了,至于什么system/360那些东西在这里不再赘述,实为一个历史。

    随着计算机的发展和各国对计算机的使用,这128个字符显然不能满足全世界任命的需求了,也就相继出现了UTF-8、GBK等的编码体系了。这也说明了在很多编码体系中一个英文字符为什么占用了一个字节(1B)存储大小的原因了!

    计算机中的换算关系:

    1B(Byte) = 8b(bit)

    1KB = 1024B

    1MB = 1024KB

    网络网速上的10M又是通信系统中的概念了;

    表示的是10Mbps,意味带宽,跟道路的宽度是一个道理,所有的下载软件手机网速的提示一般都用KB来表示,那么10M的网速实际下载速度就为:

    10Mbps / 8(b/位) = 1.25MBps (1.25M/s)

  • 相关阅读:
    kubernetes部署jenkins(Docker in Docker)及认证
    helm生产环境离线安装
    helm在kubernetes环境中搭建
    GlusterFs卷类型分析及创建、使用(结合kubernetes集群分析)
    glusterfs详解及kubernetes 搭建heketi-glusterfs
    kubernetes搭建Harbor无坑及Harbor仓库同步
    生产环境:ansible自动化部署kubernetes-1.14
    Gluserfs 架构详解【译】官网
    k8s部署高可用Ingress
    《A Survey on Transfer Learning》迁移学习研究综述 翻译
  • 原文地址:https://www.cnblogs.com/hjlweilong/p/13625583.html
Copyright © 2020-2023  润新知