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

[杂谈]-从硬件角度理解二进制数

从硬件角度理解二进制数

文章目录

  • 从硬件角度理解二进制数
    • 1、概述
    • 2、模拟电路
    • 3、数字电路
    • 4、逻辑电平
    • 5、TTL 器件的电压水平
    • 6、总结

1、概述

二进制数以 2 为基数系统表示,该系统只有两 (2) 个不同的数值,即 0 和 1。就像最常见的那样,十进制数以 10 为基数系统表示,具有十 (10) 个不同的数值 从 0 到 9 的数字。这些数字系统旨在表达信息,数字系统中使用二进制数以0和1的形式执行信息流。

它基于布尔数据类型,只有两个可能的值,即 true 和 false。 它以英国数学家乔治·布尔命名,现已广泛应用于所有数字系统中。 布尔值表示单个位,而二进制数可以由多个单个位或布尔值组成。 如前所述,布尔值可以包括“TRUE”或“FALSE”值,并且这些值也分别由“ON”或“OFF”以及“1”或“0”表示。 然而,二进制数用“0”和“1”表示。 在现代数字电子、通信系统、计算机等中,信息流是二进制的,电压电平旨在区分 0 和 1 值。

数字系统携带的信息是离散的,代表任意时刻的不同电压状态或值。 与模拟信号或线性系统不同,模拟信号或线性系统具有连续变化的值,并且通常由瞬时值表示。 在数字系统中,二进制值 0 和 1 被赋予一个电压电平,以便在信息流动期间可以区分它们。 最常见的是,值 1 由 5V 表示,而二进制值 0 则表示为 0V 或地电位。 数字系统中的这些二进制数通常称为BITS(Binary DigiTS)。

在这里插入图片描述

图 1:二进制数据流

二进制数或位形式的信息处理仅需要两个值或电压,其中之一处于地电位。 这需要更少的电路,非常适合在数字系统中使用。 二进制值可以用任何电压表示并具有指定的逻辑电平。 对于每个电压值,都有一个逻辑电平,即低或高逻辑。 电压水平通常保持在0到10V之间。 通常,高电压电平代表高逻辑电平,低电压(地)电平代表低逻辑电平。

根据信号类型,电子电路分为模拟电路和数字电路。

2、模拟电路

模拟电路使用时变的连续信号,理论上涵盖一段时间内无限范围的值。 相应地,模拟电路可以在一段时间内响应模拟信号。 该信号可以覆盖从正值到负值的电压范围。

下图说明了一段时间内连续变化或模拟信号的行为。

在这里插入图片描述

图2:模拟信号

信号的输出取自电位器,电位器的另一端连接到极端电压水平,即电源电压和地。 旋转电位器的旋钮可以使输出电阻从零变化到最大值。 输出电压通过分压规则 (VDR) 获得,范围从零到电源电压。 缓慢旋转电位器旋钮的同时,输出电压逐渐从零增加到电源电压电位,并且在每个瞬间都会获得不同的值。 此外,输出电压的逐渐增加表明任何两个周期之间没有突然或阶跃变化。 输出电压图表示相同,即没有阶跃变化,并且表示连续或模拟信号。 模拟信号的示例包括来自物理输出的传感器输出,例如温度、光、压力、距离、液位等。

3、数字电路

数字电路仅使用两个不同的电压电平作为高逻辑电平和低逻辑电平。 这些高逻辑电平和低逻辑电平分别对应于二进制的 1 和 0 值。 仅在任何瞬间或时间段内,只有两个电压电平对应于这些逻辑电平。 这些逻辑的电压电平可能会有所不同,具体取决于晶体管-晶体管逻辑 (TTL)、互补金属氧化物半导体 (CMOS) 等电路。

数字信号及其离散电压电平可以通过下图进行解释。

在这里插入图片描述

图3:数字信号

上述电路的电位器现已替换为五 (5) 个等值电阻器。 输出电压取自极端电压电平(5V 和 0)以及电阻器的每个结点。 这些结点形成分压器电路,并且包含每个电阻器会导致输出电压增加。 输出电压级已分为六 (6) 个级,旋钮将输出按顺序连接到每个级。 从第 1 级到第 6 级,可以观察到输出电压在每一步都会突然变化,并产生一个不变化的独特电压电平。 输出电压图描绘了相同的情况,即级变化产生突然的电压阶跃,并且每个级在该周期内具有恒定或独特的电压电平。

从上面的图示可以看出,连续变化的信号或模拟信号在一段时间内不是恒定的,并且在一段时间内可能包含无限范围的值。 相反,数字信号在一段时间内包含独特的值。 为了理解这两个信号之间的差异,可以将调光器的实时示例用作模拟信号。 调光器的旋转是连续的而不是突然的。 另一方面,开关(按钮)以数字信号的形式控制灯光。 该开关只有两种不同的状态,即关或开,并且它们之间的变化是突然的。

大多数电子电路都包含处理传感器的模拟和数字电路。 需要从模拟到数字的转换,以使用模数转换器 (ADC) 将读取模拟数据的传感器转换为数字值。 数字值可以在数字系统中处理、轻松传输并存储在存储设备中。 同样,可以使用数模转换器 (DAC) 将存储器或指令中存储的数字值转换为模拟值。

4、逻辑电平

正如本文上面所讨论的,二进制位或布尔值只能保存两种可能状态之一,即逻辑 1 或逻辑 0。逻辑 1 和逻辑 0 通常也分别称为 ON/HIGH 和 OFF/LOW。 在下图中,显示了这两种状态以及实现这些可能状态的简单电路。 最常用的逻辑系列,即 TTL,使用 +5V 作为逻辑 1 值的指示。

在这里插入图片描述

图4:逻辑电平的可能状态

5、TTL 器件的电压水平

数字逻辑电平(即高电平和低电平)是从信号电压电平获得的,并且通常对于逻辑电平,根据许多因素使用一定范围的电压。 下图显示了晶体管-晶体管逻辑(TTL)的输入和输出电压电平。

在这里插入图片描述

图5:输入和输出信号的 TTL 电压电平

对于 TTL 输入信号,需要最大 0.8V 的电压才能确定逻辑低电平,而需要最小 2V 的电压才能确定逻辑高电平。 这意味着任何逻辑低电平输入都需要具有 0 至 0.8V 的电压,对于逻辑高电平输入则需要 2 至 5V 的电压。 0.8 至 2V 的电压被指定为不可用。 同样,对于 TTL 输出信号,逻辑低限设置为最大 0.4V,逻辑高限设置为 2.7V。 落在这些电压电平内的电压将根据信号的电压在逻辑上指定为高电平或低电平。

6、总结

  • 二进制数是一种以 2 为基数的计数系统,其中每个连续位都将二进制数的值加倍(2 的幂)。
  • 通常称为位的二进制数的每个数字都是布尔数据类型,可以保存两个可能值之一,即 0 或 1。0 和 1 的值也分别指定为 LOW 和 HIGH。
  • 二进制数的每个连续位都会使二进制数的值加倍,例如 对于 1、2、3、4 和 5 位二进制数,十进制值分别为 1、2、4、8、16 和 32。
  • 电子电路可分为模拟电路和数字电路。 模拟信号是连续的并且在一段时间内包含许多值。 同时,数字信号具有离散值并且这些离散值之间的变化是突然的或突然的。
  • 最常用的晶体管-晶体管逻辑分别使用 0 和 5V 的电压电平来指定逻辑低电平和高电平。

相关文章:

[杂谈]-从硬件角度理解二进制数

从硬件角度理解二进制数 文章目录 从硬件角度理解二进制数1、概述2、模拟电路3、数字电路4、逻辑电平5、TTL 器件的电压水平6、总结 1、概述 二进制数以 2 为基数系统表示,该系统只有两 (2) 个不同的数值,即 0 和 1。就像最常见的那样,十进制…...

Fast-DDS 服务发现简要概述

阅读本文章需要对DDS基础概念有一些了解,一些内容来自Fast-DDS官方文档,一些是工作中踩过的坑。 1. 服务发现阶段 满足OMG标准的DDS服务发现分为两部分,分别是: PDP(Participant Discovery Protocol 参与者发现协议):参与者确认…...

基于spingboot的websocket订阅、广播、多人聊天室示例

概述 基于spingboot的websocket多人聊天系统。包括订阅,广播、点对点单人聊天,多人聊天室功能。 详细 一、运行效果 简单示例 广播 单人聊天 多人聊天室 二、相关代码 websocket配置 package com.iamgpj.demowebsocket.config;import com.iamgpj.d…...

Linux mac Windows三系统 局域网文件共享方法

主要工具: Samba是一个开源的软件套件,允许Linux系统与Windows系统之间共享文件和打印机。 一、首先是Linux共享的设置 ①安装 sudo apt-get install samba ②创建共享文件夹 sudo mkdir /home/share ③配置用户 sudo smbpasswd -a kequan ④修改…...

Java——比较器

引入的背景 我们知道基本数据类型的数据(除boolean类型外)需要比较大小的话,直接使用比较运算符即可,但是引用数据类型是不能直接使用比较运算符来比较大小的。那么,如何解决这个问题呢? 在Java中经常会涉…...

【数据结构】初识泛型

文章目录 一般的类和方法,只能使用具体的类型: 要么是基本类型,要么是自定义的类。这种限制对代码的束缚就会很大。所以我们引入了泛型。泛型,泛顾名思义就是广泛的意思。就是适用于许多许多类型。从代码上讲,就是对类型实现了参数…...

代码随想录--哈希--有效的字母异位词

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 示例 1: 输入: s "anagram", t "nagaram" 输出: true 示例 2: 输入: s "rat", t "car" 输出: false 说明: 你可以假设字符串只包含小写字母。…...

MySQL——数据的增删改

2023.9.12 本章开始学习DML (数据操纵语言) 语言。相关学习笔记如下: #DML语言 /* 数据操作语言: 插入:insert 修改:update 删除:delete */#一、插入语句 #方式一:经典的插入 /* 语法: insert …...

云服务器与http服务器

如何与http服务器建立连接(客户端)? http请求设计格式: 例子: 发送http请求 http数据响应格式: 接收http服务器返回的数据需要进一步进行字符串处理操作,提取有用的数据。...

golang教程 beego框架笔记一

安装beego 安装bee工具 beego文档 # windos 推荐使用 go install github.com/beego/bee/v2master go get -u github.com/beego/bee/v2masterwindows使用安装bee工具时碰到的问题; 环境配置都没有问题,但是执行官网的命令:go get -u github…...

【深度学习】Mini-Batch梯度下降法

Mini-Batch梯度下降法 在开始Mini-Batch算法开始之前,请确保你已经掌握梯度下降的最优化算法。 在训练神经网络时,使用向量化是加速训练速度的一个重要手段,它可以避免使用显式的for循环,并且调用经过大量优化的矩阵计算函数库。…...

AI项目六:WEB端部署YOLOv5

若该文为原创文章,转载请注明原文出处。 一、介绍 最近接触网页大屏,所以就想把YOLOV5部署到WEB端,通过了解,知道了两个方法: 1、基于Flask部署YOLOv5目标检测模型。 2、基于Streamlit部署YOLOv5目标检测。 代码在…...

敲代码常用快捷键

1、代码拖动 PyCharm:按住 shiftalt鼠标选中某一区域来拖动,即可实现拖动这一区域至指定区域。Visual Studio Code (VSCode): - Windows/Linux:Alt 鼠标左键拖动 - MacOS:Option 鼠标左键拖动 IntelliJ IDEA: - Win…...

MyBatis: 分页插件PageHelper直接传递分页参数的用法

一、加分页插件依赖 <dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.2.13</version></dependency>二、配置分页插件&#xff0c;并配置相关属性&a…...

Python基于Flask的高校舆情分析,舆情监控可视化系统

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W,Csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 运行效果图 基于Python的微博大数据舆情分析&#xff0c;舆论情感分析可视化系统 系统介绍 微博舆情分析系…...

Python第一次作业练习

题目分析&#xff1a; """ 参考学校的相关规定。 对于四分制&#xff0c;百分制中的90分及以上可视为绩点中的4分&#xff0c;80 分及以上为3分&#xff0c;70 分以上为2分&#xff0c;60 分以上为1分; 五分制中的5分为四分制中的4分&#xff0c;4分为3分&#…...

InstallShield打包升级时不覆盖原有文件的解决方案

一个.NET Framework的Devexpress UI Windows Form项目&#xff0c;用的InstallShield&#xff0c;前些个版本都好好的&#xff0c;最近几个版本突然就没法更新了&#xff0c;每次更新的时候都覆盖不了原文件&#xff0c;而且这样更新后第一次打开程序&#xff08;虽然是老程序&…...

服务器巡检表-监控指标

1、巡检指标 系统资源K8S集群NginxJAVA应用RabbitMQRedisPostgreSQLElasticsearchELK日志系统 2、巡检项 检查项目 检查指标 检查标准 系统资源 CPU 使用率 正常&#xff1a;&#xff1c;70% 低风险&#xff1a;≥ 70% 中风险&#xff1a;≥ 85% 高风险&#xff1a;≥ 9…...

无涯教程-JavaScript - DDB函数

描述 DDB函数使用双倍余额递减法或您指定的某些其他方法返回指定期间内资产的折旧。 语法 DDB (cost, salvage, life, period, [factor])争论 Argument描述Required/OptionalCostThe initial cost of the asset.RequiredSalvage 折旧结束时的价值(有时称为资产的残值)。 该…...

uniapp打包微信小程序。报错:https://api.weixin.qq.com 不在以下 request 合法域名列表

场景&#xff1a;在进行打包上传测试时&#xff0c;发现登录失效&#xff0c;但在测试中【勾选不效应合法域名】就可以。 出现原因&#xff1a;我在获取到用户code后&#xff0c;直接使用调用官方接口换取openid 解决方案&#xff1a; 可以把code带给后端&#xff0c;让他们返…...

测试微信模版消息推送

进入“开发接口管理”--“公众平台测试账号”&#xff0c;无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息&#xff1a; 关注测试号&#xff1a;扫二维码关注测试号。 发送模版消息&#xff1a; import requests da…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎&#xff08;Physics Engine&#xff09; 物理引擎 是一种通过计算机模拟物理规律&#xff08;如力学、碰撞、重力、流体动力学等&#xff09;的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互&#xff0c;广泛应用于 游戏开发、动画制作、虚…...

算法岗面试经验分享-大模型篇

文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer &#xff08;1&#xff09;资源 论文&a…...

C# winform教程(二)----checkbox

一、作用 提供一个用户选择或者不选的状态&#xff0c;这是一个可以多选的控件。 二、属性 其实功能大差不差&#xff0c;除了特殊的几个外&#xff0c;与button基本相同&#xff0c;所有说几个独有的 checkbox属性 名称内容含义appearance控件外观可以变成按钮形状checkali…...

数据库正常,但后端收不到数据原因及解决

从代码和日志来看&#xff0c;后端SQL查询确实返回了数据&#xff0c;但最终user对象却为null。这表明查询结果没有正确映射到User对象上。 在前后端分离&#xff0c;并且ai辅助开发的时候&#xff0c;很容易出现前后端变量名不一致情况&#xff0c;还不报错&#xff0c;只是单…...

【笔记】AI Agent 项目 SUNA 部署 之 Docker 构建记录

#工作记录 构建过程记录 Microsoft Windows [Version 10.0.27871.1000] (c) Microsoft Corporation. All rights reserved.(suna-py3.12) F:\PythonProjects\suna>python setup.py --admin███████╗██╗ ██╗███╗ ██╗ █████╗ ██╔════╝…...

CVE-2023-25194源码分析与漏洞复现(Kafka JNDI注入)

漏洞概述 漏洞名称&#xff1a;Apache Kafka Connect JNDI注入导致的远程代码执行漏洞 CVE编号&#xff1a;CVE-2023-25194 CVSS评分&#xff1a;8.8 影响版本&#xff1a;Apache Kafka 2.3.0 - 3.3.2 修复版本&#xff1a;≥ 3.4.0 漏洞类型&#xff1a;反序列化导致的远程代…...

LINUX编译vlc

下载 VideoLAN / VLC GitLab 选择最新的发布版本 准备 sudo apt install -y xcb bison sudo apt install -y autopoint sudo apt install -y autoconf automake libtool编译ffmpeg LINUX FFMPEG编译汇总&#xff08;最简化&#xff09;_底部的附件列表中】: ffmpeg - lzip…...