计算机组成原理(七):二进制编码
二进制编码
二进制系统
- 二进制由两个数字
0
和1
组成,适合数字电路中的高电平(1)和低电平(0)表示。 - 在计算机内部,所有数据(如数字、文本、图像、声音等)最终都以二进制形式存储和处理。
编码的作用
- 将信息(字符、数字、图像、信号等)转换为计算机可以识别的二进制格式。
- 编码的规则决定了如何解码二进制数据以恢复原始信息。
二进制编码的类型
数值编码
- 用二进制表示数字。
- 无符号整数 :直接用二进制表示正整数。
- 示例:
5
用二进制表示为101
。
- 示例:
- 有符号整数 :用最高位表示符号(0 表示正,1 表示负)。
- 示例:
-5
用补码表示为11111011
(8 位)。
- 示例:
- 浮点数 :使用 IEEE 754 标准表示小数,分为符号位、指数位和尾数位。
- 示例:
3.14
的二进制形式为01000000010010001111010111000011
。
- 示例:
字符编码
- 用二进制表示字符。
- ASCII :使用 7 位二进制编码常见字符。
- 示例:字符
A
的 ASCII 编码为01000001
。
- 示例:字符
- Unicode/UTF-8 :扩展支持全球语言字符。
- 示例:
中
的 UTF-8 编码为11100100 10111000 10101101
。
- 示例:
图像编码
- 将图像像素值用二进制表示。
- 位图(BMP):直接用二进制存储每个像素的颜色值。
- 示例:黑白图像中黑色为
0
,白色为1
。
- 示例:黑白图像中黑色为
- 压缩格式:如 JPEG、PNG,使用压缩算法编码图像以减少存储空间。
音频编码
- 将声音波形采样后用二进制存储。
- 示例:MP3、WAV 格式音频使用二进制编码音频数据。
网络编码
- 网络通信协议将数据包编码为二进制格式。
- 示例:HTTP 请求或 TCP 数据包用二进制传输。
其他编码
- BCD(Binary Coded Decimal):用二进制表示十进制数字,每个十进制位用 4 位二进制表示。
- 示例:数字
59
的 BCD 表示为0101 1001
。
- 示例:数字
- 格雷码(Gray Code):编码方式使相邻数字只有一位不同,常用于错误检测。
二进制编码的应用
1. 数据存储
- 计算机存储设备(硬盘、SSD、内存)以二进制形式存储数据。
- 文本文件用字符编码(如 UTF-8)保存,图像、音频等文件用特定格式编码。
2. 数据传输
- 网络通信中,所有数据以二进制格式打包并传输。
- 通信协议:如 TCP/IP 协议中使用二进制传输 IP 地址、端口号等。
- 文件传输:如 HTTP 协议中发送网页内容的二进制编码。
3. 多媒体处理
- 视频和音频文件(如 MP4、MP3)用二进制编码压缩存储,播放时解码为原始格式。
- 图像处理和显示设备(如相机、屏幕)通过二进制编码生成和显示图片。
4. 控制与嵌入式系统
- 嵌入式设备(如微控制器、单片机)通过二进制控制硬件。
- 指令以二进制形式传递给处理器。
- 传感器数据用二进制编码采集和处理。
5. 加密与安全
- 数据加密技术(如 AES、RSA)使用二进制操作实现密钥生成和数据加密。
- 哈希算法(如 SHA-256)将数据编码为固定长度的二进制散列值。
6. 人工智能与机器学习
- 模型参数、输入数据(如图片像素、文本)都以二进制编码表示。
- 神经网络权重存储为二进制数据,用于训练和推理。
7. 条形码与二维码
- 条形码和二维码用二进制编码信息。
- 条形码:黑白条纹用二进制编码数字。
- 二维码:二维黑白矩阵用二进制编码文本或 URL。
二进制编码的优点与局限
优点
- 简单高效:二进制适合硬件实现(如电路的高低电平)。
- 通用性强:可以编码任意类型的数据(字符、图像、音频等)。
- 便于存储与传输:所有数字设备都以二进制形式处理数据。
局限
- 可读性差:二进制表示直观性低,不易被人类理解。
- 冗余性:某些编码方式(如 ASCII)可能浪费空间。
- 复杂性:特定数据(如图像)编码和解码过程可能较复杂。
二进制编码的应用
示例 1:文本编码
- 字符 Hello转为二进制:
- ASCII:
H -> 01001000, e -> 01100101, l -> 01101100, o -> 01101111
- ASCII:
示例 2:图片编码
-
一张 2x2 的黑白图片:
1 0 0 1
编码为二进制:1001
示例 3:网络数据包
- 一个简单的 TCP 数据包:
- 源端口号:8080 ->
00011111 10010000
(16 位) - 目标端口号:80 ->
00000000 01010000
(16 位)
- 源端口号:8080 ->
相关文章:
计算机组成原理(七):二进制编码
二进制编码 二进制系统 二进制由两个数字 0 和 1 组成,适合数字电路中的高电平(1)和低电平(0)表示。在计算机内部,所有数据(如数字、文本、图像、声音等)最终都以二进制形式存储和…...

【GitHub分享】you-get项目
【GitHub分享】you-get 一、介绍二、安装教程三、使用教程四、配置ffmpeg五,卸载 如果大家想要更具体地操作可去开源网站查看手册,这里只是一些简单介绍,但是也够用一般,有什么问题,也可以留言。 一、介绍 you-get是一…...

论文概览 |《Sustainable Cities and Society》2024.12 Vol.116
本次给大家整理的是《Sustainable Cities and Society》杂志2024年12月第116期的论文的题目和摘要,一共包括52篇SCI论文! 论文1 Enhancing road traffic flow in sustainable cities through transformer models: Advancements and challenges 通过变压…...
解决node.js的req.body为空的问题
从昨晚一直在试,明明之前用的封装的axios发送请求给其他的后端(springboot)是可以的,但昨天用了新项目的后端(node.js)就不行。 之前用了代理,所以浏览器发送的post请求不会被拦截,…...

Mysql学习笔记之安装
“工欲善其事,必先利其器”,这篇文章我们主要介绍Msql的安装方法。 1. 通过Docker方式安装Mysql 通过dock可以很方便的安装mysql,可以通过图形化界面配置各种参数,简介明了推荐使用dock方式安装,当然也可以使用命令方…...
将PDF流使用 canvas 绘制然后转为图片展示在页面上(二)
将PDF流转为图片展示在页面上 使用 pdfjs-dist 库来渲染 PDF 页面到 canvas 上,然后将 canvas 转为图片 安装 pdfjs-dist 依赖 npm install pdfjs-dist 或者 yarn add pdfjs-dist创建一个组件来处理 PDF 流的加载和渲染 该组件中是一个包含 PDF 文件的 ArrayBuffer…...

【深度学习】 零基础介绍卷积神经网络(CNN)
零基础介绍 卷积神经网络(CNN,Convolutional Neural Network)是深度学习中的一种神经网络,特别擅长处理图像和视频等有空间结构的数据。 假设我们在做一个“照片分类”的任务,比如判断一张照片中是猫还是狗。下面用一…...
Coze概述
### Coze概述 Coze(中文名为扣子)是由字节跳动开发的一个新一代AI应用开发平台,旨在让用户轻松创建各种AI驱动的应用和聊天机器人,无论用户的编程经验如何。以下是Coze的一些关键特性和功能: #### 关键特性 - **无代…...

康佳Android面试题及参考答案(多张原理图)
JVM 内存分布和分代回收机制是什么? JVM 内存主要分为以下几个区域。 堆(Heap)是 JVM 管理的最大的一块内存区域,主要用于存放对象实例。所有线程共享堆内存,在堆中又分为年轻代(Young Generation)和老年代(Old Generation)。年轻代又分为 Eden 区和两个 Survivor 区(…...
2022 年 3 月青少年软编等考 C 语言四级真题解析
目录 T1. 拦截导弹思路分析T2. 神奇的数列思路分析T3. 硬币思路分析T4. 公共子序列思路分析T1. 拦截导弹 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的…...

关于24年408真题的疑问
45.某计算机按字节编址,采用页式虚拟存储管理方式,虚拟地址和物理地址的长度均为32位,页表项的大小为4字节,页大小为4MB。虚拟地址结构如下: 这一道题如果不细想的话,其实是可以做对的,毕竟数字…...

【容器】k8s学习笔记基础部分(三万字超详细)
概念 应用部署方式演变 在部署应用程序的方式上,主要经历了三个时代: 传统部署:互联网早期,会直接将应用程序部署在物理机上 优点:简单,不需要其它技术的参与 缺点:不能为应用程序定义资源使…...
dayjs(2kb)和momentjs(70kb)关系详述及项目中如何选择讲解
关系 API:Day.js被设计为Moment.js的极简替代品,其API和用法与Moment.js几乎完全一致。这使得开发者在两者之间进行切换时,学习成本极低。 理念: Moment.js是一个大而全的时间日期库,提供了丰富的日期时间操作方法&am…...

【Python网络爬虫笔记】11- Xpath精准定位元素
目录 一、Xpath 在 Python 网络爬虫中的作用(一)精准定位元素(二)应对动态网页(三)数据结构化提取 二、Xpath 的常用方法(一)节点选取(二)谓词筛选࿰…...
6.python列表
Python 列表 (List) 深度总结 文章目录 Python 列表 (List) 深度总结1. 列表的基本概念2. 访问列表中的元素3. 修改列表4. 删除列表元素5. 列表的操作符6. 列表的内置函数7. 列表的方法8. 列表的高级用法8.1 列表推导式 (List Comprehensions)8.2 列表的浅拷贝与深拷贝8.3 列表…...
Android中bindService和startService启动服务有何区别
Android中bindService和startService启动服务有何区别 bindService 和 startService 是 Android 中两种用于与 Service 交互的方式,它们的区别主要在于 生命周期管理 和 使用场景。以下是详细对比: 1. bindService方式 bindService 是一种绑定方式&am…...

超牛免费 机械臂模型、工业机器人模型下载网站集合
机械臂是一种高精度、多输入多输出的复杂系统,能够模仿人手的动作,按照给定程序、轨迹和要求实现自动抓取、搬运等功能。它通常由执行机构、驱动装置、控制系统以及传感器等组成,能够完成各种复杂的动作。 机械臂在工业、医学、娱乐、…...

引领未来的变革:15种前沿RAG技术及其应用探索
在现代人工智能领域,检索增强生成(RAG)技术逐渐成为推动各种应用的重要力量。这些技术通过结合信息检索与文本生成,能够更有效地处理和利用信息。本文将详细介绍15种前沿RAG技术及其具体应用实例,以帮助您更好地理解这…...
Scala泛型应用场景
Scala中的泛型(Generics)是一种强大的工具,允许开发者编写可重用的代码,同时保持类型安全。泛型在Scala中有多种应用场景,以下是一些常见的应用场景: 集合类: Scala的集合类(如List…...

AI监控赋能健身馆与游泳馆全方位守护,提升安全效率
一、AI视频监控技术的崛起 随着人工智能技术的不断发展,AI视频监控正成为各行业保障安全、提升效率的关键工具。相比传统监控系统,AI技术赋予监控系统实时分析、智能识别和精准预警的能力,让“被动监视”转变为“主动防控”。 二、AI监控应用…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...

UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
C++中string流知识详解和示例
一、概览与类体系 C 提供三种基于内存字符串的流,定义在 <sstream> 中: std::istringstream:输入流,从已有字符串中读取并解析。std::ostringstream:输出流,向内部缓冲区写入内容,最终取…...

Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...

基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...