美文网首页
详解bit、byte、字的关系及应用场景。徐庆臣(黑客洗白者)

详解bit、byte、字的关系及应用场景。徐庆臣(黑客洗白者)

作者: STE北京老徐 | 来源:发表于2023-10-15 19:03 被阅读0次

授课内容:字节(Byte),比特(bit),ASCII码,UTF-8,Unicode,电脑32位及64位等一些电脑的基础知识。

  1. 概念****:

计算机能够把0和1转换为电路中的信号来进行计算,这个其实就是计算机的本质。

单位定义

我们先对需要使用的单位进行一些定义。

bit(比特)

bit 就是计算机对数据存储和移动的最小单元,这个只有2个值,0和1。它的简写为小写字母“b”。

作为信息技术的最基本存储单元,因为比特实在太小了,所以大家生活中可能接触不到,在装宽带的时候被忽悠的就是这个单位。

Byte(字节)

Byte 是字节的英文写法。它的简写为大写字母“B”。

表达用途

因为 bit 这个单位实在是太小了,用在存储上并不是很好用。

所以我们大致上只需要了解: bit 用在数据通信上,存储上用的是 Byte。

简单来说,和通信有关的都是位,和存储有关的都是字节。

这是因为在数据传输中,交换机和硬件只负责把 0 或者 1 发送到目的地,所以使用位这个单位更好来表示数据传输。

  1. 字节Byte和比特位bit以及之间的换算

比特bit是二进制位(Binary digit)的简称,一个二进制包含的信息量成为一比特bit。比特bit是计算机内部数据存储的最小单位。二进制在效率和成本方面的优势为全世界所接受,现在电脑所有的信息都是二进制的,就是0和1组成的。

[图片上传失败...(image-1a5ae6-1697454206272)]

字节Byte是计算机数据处理的最小单位,习惯上用大写的B表示,每个字节有8个二进制位,其中最右边的一位为最低位,最左边的一位为最高位,每个二进制位的值不是0就是1。一个字节由8个二进制位组成。也就是1字节Byte等于8比特bit。这也是计算机设计时规定的。一个字节最大为8个1(11111111)即2的8次方,总共是256种状态。

字节与bit位换算:1字节=8bit,即1Byte=8bit

[图片上传失败...(image-743e92-1697454206272)]

2.字与字节的关系

字和字节都是计算机的存储单元。字由若干个字节组成,一个字节是8个比特bit。字的位数叫做字长,即cpu一次处理二进制代码的位数。字的长度与计算架构有关,比如32位机,一个字就是32位,换算成字节就是4字节;同样的64位机,一个字就是64位,也就是8字节。字也是计算机一次处理数据的最大单位。

字和字节换算:

32位计算机:1字=32位=4字节

64位计算机:1字=64位=8字节

3.字节与字符编码的关系

字符是指计算机中的文字和符号。比如汉字和阿拉伯数字。但在计算机的具体表示中,又有不同的编码,估计编程的人都比较懂,常见有ASCII码、GB2312、GBK,UTF-8编码、Unicode编码。

GB2312和GBK是中国汉字编码方案标准,同时兼容ASCII码。GB2312是简体汉字编码规范,但GBK是大字符集,不仅包含了简体中文,繁体中文还包括了日语、韩语等所有亚洲文字的双字节字符。最新汉字编码标准GB18030,其中已经可以支持中日韩以及藏文、蒙文,维吾尔文等少数民族文字。但这些说到底还是以中文为主。

ASCII码是美国信息互换标准代码,是一套基于拉丁字母的字符编码,其中包含了33个控制字符(具有某些特殊功能)和95个可显示字符,总共定义了128个字符。ASCII码当中一个汉字占两个字节空间,一个英文字母(不区分大小写)占一个字节空间。ASCII 编码是最简单的西文编码方案。

[图片上传失败...(image-25d160-1697454206272)]

Unicode编码是ASCII码的一个扩展,采用双字节对字符进行编码。一个英文等于两个字节,一个中文(含繁体)也等于两个字节。英文标点占用一个字节,中文标点则占用2个字节。

UTF-8编码是一种多字节编码,也是目前互联网应用最广泛的一种Unicode编码方式。最大特点就是可变长,可根据字符的不同变换长度。一个英文字符占用一个字节,一个中文(含繁体)占用三个字节。英文标点占用1个字节,中文标点同样占用3个字节。UTF-8包含了全世界所有国家需要用到的字符,是国际编码,通用性极强。使用这种编码的话,一旦文章中同时出现中文、英文或者繁体,浏览器都会支持,而不会出现乱码。

4.电脑的32位操作系统和64位操作系统都是啥意思?

我们的电脑是32位还是64位主要是受到电脑cpu、主板硬件决定的,32位的cpu一次处理32位数据,64位的就处理64位数据。简单理解就是64位在性能上远远强于32位。比如32位操作系统最大支持4G内存,如果电脑内存小于4G的话,是不能安装64位操作系统的。现在的软件要求也很高,很多32位的系统也都已经不支持了。

[图片上传失败...(image-9aa41-1697454206271)]

备注:1g等于多少bit?

1GB=1024MB=10241024KB=102410241024B=1024102410248b,而1b就是1bit(也就是比特)、也就是说1G等于2的33次方比特,算出来具体数值就是1G=8589934592比特。而B就是字节也就是说1G=2的30次方字节,具体数值就是1G=1073741824B(也就是字节)。

那么:4G = 2的32次方字节,也就是32位操作系统内存最大4个G。

那么:64位操作系统,最大支持多少内存呢?

以前的32位系统最多支持4G左右的内存容量,也就是2的32次方,如果你只安装了32位系统,那么即使给电脑配备8G乃至16G的内存都是无效的,系统只会认4G内存,即使通过其它方式让内存总量显示出来实际系统也是无法利用的。

而对于64位操作系统来说,简单的计算就是2的64次方,也就是相当于128GB内存,如今大部分的电脑的主流内存容量还只是8G-16G,所以距离128G内存的上限还有很大距离,但是也不是说你的64位系统支持128G内存就可以直接使用,这也需要看你的主板最大支持多大内存总量,有的中低端主板仍然支持最大64G内存,多年前的老主板甚至只支持最大16G的内存,而128G内存对于目前大部分中高端主板则可以支持。

所以在安装操作系统的时候,是选择32位操作系统还是64位操作系统,一定要先看自己的电脑配置。不过现在应该很少人用32位操作系统了。右键点击桌面计算机图标,打开属性就能看出自己的计算机是32位还是64位了。

总结

举例来说,假设我们希望让计算机告诉我们 12 +12 等于多少,首先我们就需要知道 12 在计算机内是怎么存储的,对于数字 12 的整数类型,程序会用一什么 0 和 1 的序列进行存储。

在做加法的时候,程序会通过怎么样的位移动来得到具体的值。

这个过程实际上就是计算机 CPU 处理的过程。

因为我们在程序计算的时候,这部分对大部分程序开发都是透明的,所以我们实际上只需要了解 Bit 和 Byte 直接的一些关系就好了。

因为了解这些关系,能够有助于我们在以后看到一些文献资料的时候了解存储和计算过程,但因实际用得并不多,大部分情况也不会要求你主动去进行位移动计算,因为这是计算机做的事情。

相关文章

网友评论

      本文标题:详解bit、byte、字的关系及应用场景。徐庆臣(黑客洗白者)

      本文链接:https://www.haomeiwen.com/subject/krntidtx.html