计算机组成原理(七):二进制编码
二进制编码
二进制系统
- 二进制由两个数字
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监控应用…...
超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...
排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...
Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换
目录 关键点 技术实现1 技术实现2 摘要: 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式(自动驾驶、人工驾驶、远程驾驶、主动安全),并通过实时消息推送更新车…...
wpf在image控件上快速显示内存图像
wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像(比如分辨率3000*3000的图像)的办法,尤其是想把内存中的裸数据(只有图像的数据,不包…...
Oracle11g安装包
Oracle 11g安装包 适用于windows系统,64位 下载路径 oracle 11g 安装包...
【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅!
【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅! 🌱 前言:一棵树的浪漫,从数组开始说起 程序员的世界里,数组是最常见的基本结构之一,几乎每种语言、每种算法都少不了它。可你有没有想过,一组看似“线性排列”的有序数组,竟然可以**“长”成一棵平衡的二…...
