为什么一个字节是八个bit

2024-01-15 17:08
文章标签 字节 bit 八个

本文主要是介绍为什么一个字节是八个bit,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

字节

字节是是计算机信息计量单位,一个字节包含八个bit。
但是为什么1个字节是8个bit呢,这还得从ascii码说起。

ascii码

ascii码是计算机一开始使用的编码协议,主要用于记录 需要显示的字符和 “0与1” 之间的对应。比如按下键盘的 a 键,就相当于输入了一串0和1的组合,计算机通过查询ascii表知道要显示 a

ascii码(举例)

0和1的组合表示字符
01100001a
01100010b
01100011c
01100100d
01100101e

这时我们注意到,每个字母都对应8个 0和1的组合

一开始的时候,需要显示的字符只有26个英文字母、10个数字、计算符号以及各种特殊符号,这样大概100个字符需要显示。那我们需要多少位才能足够对应全部的符号呢?

这样就变成了一道数学题。每1位有两种可能,多少位的可能数会大于100?

使用1位

此时,我们拥有1位,要么是0,要么是1,那就只有两种可能

bit值表示字符
0a
1b

2 1 2^1 21个显然不行是不够的

每次使用2个bit

bit值表示字符
00a
01b
10c
11d

能表示的字符达到了 2 2 2^2 22个,但还是远远不够

继续增加位数

2 3 = 8 2^3 = 8 23=8
2 4 = 16 2^4 = 16 24=16
2 5 = 32 2^5 = 32 25=32
2 6 = 64 2^6 = 64 26=64
2 7 = 128 2^7 = 128 27=128
2 8 = 256 2^8 = 256 28=256

在当时的环境下,128个应该是够用的,再加上其他不需要显示同样需要对应的东西,使用256个更加保险,也就是8位。

8位在计算机中称为8个bit

bit

bit是计算机存储数据的最小单位,只有0和1两种值。而8个bit组成了信息的最小单位,也就是字节。

这也就是 1个字节是8个bit 的由来

这篇关于为什么一个字节是八个bit的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/609611

相关文章

Go语言使用Buffer实现高性能处理字节和字符

《Go语言使用Buffer实现高性能处理字节和字符》在Go中,bytes.Buffer是一个非常高效的类型,用于处理字节数据的读写操作,本文将详细介绍一下如何使用Buffer实现高性能处理字节和... 目录1. bytes.Buffer 的基本用法1.1. 创建和初始化 Buffer1.2. 使用 Writ

Linux使用粘滞位 (t-bit)共享文件的方法教程

《Linux使用粘滞位(t-bit)共享文件的方法教程》在Linux系统中,共享文件是日常管理和协作中的常见任务,而粘滞位(StickyBit或t-bit)是实现共享目录安全性的重要工具之一,本文将... 目录文件共享的常见场景基础概念linux 文件权限粘滞位 (Sticky Bit)设置共享目录并配置粘

.NET利用C#字节流动态操作Excel文件

《.NET利用C#字节流动态操作Excel文件》在.NET开发中,通过字节流动态操作Excel文件提供了一种高效且灵活的方式处理数据,本文将演示如何在.NET平台使用C#通过字节流创建,读取,编辑及保... 目录用C#创建并保存Excel工作簿为字节流用C#通过字节流直接读取Excel文件数据用C#通过字节

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

[论文笔记]LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale

引言 今天带来第一篇量化论文LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale笔记。 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。 大语言模型已被广泛采用,但推理时需要大量的GPU内存。我们开发了一种Int8矩阵乘法的过程,用于Transformer中的前馈和注意力投影层,这可以将推理所需

JVM - 字节码文件详解

文章目录 目录 文章目录 1. 无关性基石 2. Class类文件结构 magic- 魔数 主副版本号 常量池 访问标志 类索引,父类索引与接口索引集合 字段 方法 属性 3. 类加载机制 类的生命周期 类加载过程 加载 连接 验证 准备 解析 初始化 4. 类加载器 类与类加载器 类加载器的分类 启动类加载器  扩展类加载器 应用程序类加

SylixOS write 0 字节问题

1 问题描述 在移植中间件过程中,在SylixOS调用write函数写入0字节的数据到文件中时,会导致对应的中间件测试用例失败,失败的原因是文件系统中的write函数在Linux系统和SylixOS有区别,两种实现的差别如下。 2 write函数的实现机制 2.1 SylixOS实现机制 在SylixOS下通过write 函数写数据到普通文件中时,第一步会判断写入的数据是否为0,如果是0直

CPU大小端字节序的检测

机器的字节序有两种,即大端字节序和小端字节序。 大端字节序:在内存中,低地址存放数据的 高位,高地址存放数据的 低位 小端字节序:在内存中,低地址存放数据的 低位,高地址存放数据的 高位 如例:定义数据  a = 0x01020304 小端方式:01 02 03 04 大端方式:04 03 02 01 那么如何判断呢,方式如下--> 一、 指

68-java字符流和字节流

Java中的字符流和字节流是用于处理输入/输出的两大类。字符流主要用于处理字符数据,而字节流可以处理任何类型的数据。 字符流: Reader:用于读取字符流的抽象类。 Writer:用于写入字符流的抽象类。 字节流: InputStream:用于读取字节流的抽象类。 OutputStream:用于写入字节流的抽象类。 下面是使用字符流和字节流的简单示例: 字符流示例(文件复

1字节的UTF-8序列的字节1无效

使用DOMReader解析XML文档时候报错”1字节的UTF-8序列的字节1无效”,我这里的解决方法。 1.手动将< ? xml version=”1.0” encoding=”UTF-8”?>中的UTF-8更改成UTF8,这样就可以了。 2.使用文本编译器把xml文档改成以UTF8无BOM编码格式就可以了。