当前位置: 首页 > news >正文

计算机组成原理(七):二进制编码

二进制编码

二进制系统

  • 二进制由两个数字 01 组成,适合数字电路中的高电平(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。

二进制编码的优点与局限

优点

  1. 简单高效:二进制适合硬件实现(如电路的高低电平)。
  2. 通用性强:可以编码任意类型的数据(字符、图像、音频等)。
  3. 便于存储与传输:所有数字设备都以二进制形式处理数据。

局限

  1. 可读性差:二进制表示直观性低,不易被人类理解。
  2. 冗余性:某些编码方式(如 ASCII)可能浪费空间。
  3. 复杂性:特定数据(如图像)编码和解码过程可能较复杂。

二进制编码的应用

示例 1:文本编码

  • 字符 Hello转为二进制:
    • ASCII:H -> 01001000, e -> 01100101, l -> 01101100, o -> 01101111

示例 2:图片编码

  • 一张 2x2 的黑白图片:

    1 0
    0 1
    

    编码为二进制:1001

示例 3:网络数据包

  • 一个简单的 TCP 数据包:
    • 源端口号:8080 -> 00011111 10010000(16 位)
    • 目标端口号:80 -> 00000000 01010000(16 位)

相关文章:

计算机组成原理(七):二进制编码

二进制编码 二进制系统 二进制由两个数字 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 的常用方法(一)节点选取(二)谓词筛选&#xff0…...

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监控应用…...

探索ST-DBSCAN:2025年时空数据聚类的实战应用与算法思想

探索ST-DBSCAN:2025年时空数据聚类的实战应用与算法思想 【免费下载链接】st_dbscan ST-DBSCAN: Simple and effective tool for spatial-temporal clustering 项目地址: https://gitcode.com/gh_mirrors/st/st_dbscan 当您面对海量的时空数据时,…...

Python数据清洗实战:缺失数据与异常值处理全攻略

在数据分析和机器学习的工作流中,数据清洗是绕不开的关键环节。粗糙的数据就像未打磨的原石,即便算法再精妙,也难以提炼出有价值的信息。其中,缺失数据与异常值是最常见的两类问题,它们不仅会干扰统计分析结果&#xf…...

3大云平台统一监控:Telegraf多厂商集成实战指南

3大云平台统一监控:Telegraf多厂商集成实战指南 在当今多云架构盛行的时代,企业往往同时使用AWS、Azure和Google Cloud等多个云平台,这使得跨平台的监控变得复杂而棘手。Telegraf作为一款插件驱动的服务器代理,专为收集和报告指标…...

Windows和Office激活终极解决方案:KMS_VL_ALL_AIO完全指南

Windows和Office激活终极解决方案:KMS_VL_ALL_AIO完全指南 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 你是否厌倦了Windows系统频繁弹出激活提醒?是否因为Office软件…...

推进军民融合标准化建设,超导磁探测军民应用前景广阔

作为首都科技创新与产业融合核心,北京市正以标准化为抓手,推进军民融合深度发展,重点落实军民融合标准化试点任务,探索建设军民通用标准信息化平台,打通“军标—民标”转化堵点。依托首都科研、企业集聚优势&#xff0…...

3步解锁图表数据:用计算机视觉将图像转化为结构化数据的实战秘籍

3步解锁图表数据:用计算机视觉将图像转化为结构化数据的实战秘籍 【免费下载链接】WebPlotDigitizer Computer vision assisted tool to extract numerical data from plot images. 项目地址: https://gitcode.com/gh_mirrors/we/WebPlotDigitizer 你是否曾面…...

hello-uniapp自定义组件开发:打造属于你的UniApp组件库

hello-uniapp自定义组件开发:打造属于你的UniApp组件库 【免费下载链接】hello-uniapp uni-app框架演示示例 项目地址: https://gitcode.com/gh_mirrors/he/hello-uniapp UniApp作为一款优秀的跨平台开发框架,让开发者能够使用Vue.js语法编写一次…...

Tiktokenizer:免费的在线令牌计算器,精准控制AI模型成本

Tiktokenizer:免费的在线令牌计算器,精准控制AI模型成本 【免费下载链接】tiktokenizer Online playground for OpenAPI tokenizers 项目地址: https://gitcode.com/gh_mirrors/ti/tiktokenizer 在AI应用开发中,你是否经常遇到令牌超限…...

StructBERT文本相似度效果展示:实测中文句子匹配,准确率高达98%

StructBERT文本相似度效果展示:实测中文句子匹配,准确率高达98% 1. 引言:当AI能“读懂”你的句子 想象一下,你是一位电商客服主管,每天要处理上千条用户咨询。用户问“我的快递怎么还没到”,而你的知识库…...

Translumo:跨场景实时翻译解决方案的技术实践与应用指南

Translumo:跨场景实时翻译解决方案的技术实践与应用指南 【免费下载链接】Translumo Advanced real-time screen translator for games, hardcoded subtitles in videos, static text and etc. 项目地址: https://gitcode.com/gh_mirrors/tr/Translumo 语言障…...