当前位置: 首页 > 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;让他们返…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库&#xff0c;特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

生成 Git SSH 证书

&#x1f511; 1. ​​生成 SSH 密钥对​​ 在终端&#xff08;Windows 使用 Git Bash&#xff0c;Mac/Linux 使用 Terminal&#xff09;执行命令&#xff1a; ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" ​​参数说明​​&#xff1a; -t rsa&#x…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”&#xff0c;物流的终极形态正在诞生 想象这样的场景&#xff1a; 凌晨3点&#xff0c;某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径&#xff1b;AI视觉系统在0.1秒内扫描包裹信息&#xff1b;数字孪生平台正模拟次日峰值流量压力…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。

1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj&#xff0c;再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

在Ubuntu24上采用Wine打开SourceInsight

1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

【C++进阶篇】智能指针

C内存管理终极指南&#xff1a;智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...

GO协程(Goroutine)问题总结

在使用Go语言来编写代码时&#xff0c;遇到的一些问题总结一下 [参考文档]&#xff1a;https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现&#xff1a; 今天在看到这个教程的时候&#xff0c;在自己的电…...

SpringAI实战:ChatModel智能对话全解

一、引言&#xff1a;Spring AI 与 Chat Model 的核心价值 &#x1f680; 在 Java 生态中集成大模型能力&#xff0c;Spring AI 提供了高效的解决方案 &#x1f916;。其中 Chat Model 作为核心交互组件&#xff0c;通过标准化接口简化了与大语言模型&#xff08;LLM&#xff0…...