计算机组成原理(七):二进制编码
二进制编码
二进制系统
- 二进制由两个数字
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监控应用…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...
select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...
jmeter聚合报告中参数详解
sample、average、min、max、90%line、95%line,99%line、Error错误率、吞吐量Thoughput、KB/sec每秒传输的数据量 sample(样本数) 表示测试中发送的请求数量,即测试执行了多少次请求。 单位,以个或者次数表示。 示例:…...
windows系统MySQL安装文档
概览:本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容,为学习者提供全面的操作指导。关键要点包括: 解压 :下载完成后解压压缩包,得到MySQL 8.…...
uniapp 实现腾讯云IM群文件上传下载功能
UniApp 集成腾讯云IM实现群文件上传下载功能全攻略 一、功能背景与技术选型 在团队协作场景中,群文件共享是核心需求之一。本文将介绍如何基于腾讯云IMCOS,在uniapp中实现: 群内文件上传/下载文件元数据管理下载进度追踪跨平台文件预览 二…...
2025年- H71-Lc179--39.组合总和(回溯,组合)--Java版
1.题目描述 2.思路 当前的元素可以重复使用。 (1)确定回溯算法函数的参数和返回值(一般是void类型) (2)因为是用递归实现的,所以我们要确定终止条件 (3)单层搜索逻辑 二…...
