博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对位与字节的深度认识
阅读量:5201 次
发布时间:2019-06-13

本文共 648 字,大约阅读时间需要 2 分钟。

  以前只是形式上的知道1字节(byte)等于8位(bit或比特),1位代表一个触发器,表示0或1。仅仅这样,没有更深刻地理解。这次以下载一个txt文本为例,进行深度认识。

  

     txt文本第一个字是“福”,我们假设汉字“福”表示的二进制编码是10010000 11110000 ,占2个字节,也就是2x8=16个位,当宽度把福字送到了PC,我们就说下载了2Byte,也就是16bit。等等,2字节表示的二进制可能有65536种可能,一个汉字只表示一种,为何会占用2字节。可以这样想想,宽度是一条马路,一批批触发器运到了你PC的地方,运过来的时候,触发器的状态就定型了要么1要么0,因此1个汉字就把2个字节的所有位都占据死了,所以下载一个福字就是下载了2Byte。

   那下载2个汉字呢,按理说是4个字节,比如10010000 11110000 11101110 11001100, 这不是4294967296(2^32)种进制可能么,这可是65536的65526倍!感觉有问题。这种想法完全没问题,但我们计算机不是这么工作的,即使确实是2^32种可能对我们也没啥意义。一位就表示一个触发器,当PC取得了16个连续的触发器后,就翻译成一个汉字给我们,然后接着取下面的16个触发器进行翻译成一个汉字,两个汉字连起来确实是2^32 种可能,但这些可能对我们没什么用,我们需要的是实打实的触发器。

  

转载于:https://www.cnblogs.com/zhansu/p/6344675.html

你可能感兴趣的文章
类别的三个作用
查看>>
【SICP练习】85 练习2.57
查看>>
runC爆严重安全漏洞,主机可被攻击!使用容器的快打补丁
查看>>
Maximum Product Subarray
查看>>
shell 默认变量
查看>>
solr相关配置翻译
查看>>
通过beego快速创建一个Restful风格API项目及API文档自动化(转)
查看>>
解决DataSnap支持的Tcp长连接数受限的两种方法
查看>>
Synchronous/Asynchronous:任务的同步异步,以及asynchronous callback异步回调
查看>>
ASP.NET MVC5 高级编程-学习日记-第二章 控制器
查看>>
如何选择适合自己的云管理平台(一)
查看>>
Hibernate中inverse="true"的理解
查看>>
不同版本(2.3,2.4,2.5,3.0)的Servlet web.xml 头信息
查看>>
Java的String中的subString()方法
查看>>
selenium +chrome headless Adhoc模式渲染网页
查看>>
高级滤波
查看>>
使用arcpy添加grb2数据到镶嵌数据集中
查看>>
[转载] MySQL的四种事务隔离级别
查看>>
QT文件读写
查看>>
C语言小项目-火车票订票系统
查看>>