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

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上&#xff0c;你可以使用apt包管理器来安装NFS服务器。打开终端并运行&#xff1a; sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享&#xff0c;例如/shared&#xff1a; sudo mkdir /shared sud…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql

智慧工地管理云平台系统&#xff0c;智慧工地全套源码&#xff0c;java版智慧工地源码&#xff0c;支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求&#xff0c;提供“平台网络终端”的整体解决方案&#xff0c;提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖

在前面的练习中&#xff0c;每个页面需要使用ref&#xff0c;onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入&#xff0c;需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 &#xff08;一&#xff09;多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如&#xff0c;当用户上传一张“蓝色连衣裙”的图片时&#xff0c;接口可自动提取图像中的颜色&#xff08;RGB值&…...

基础测试工具使用经验

背景 vtune&#xff0c;perf, nsight system等基础测试工具&#xff0c;都是用过的&#xff0c;但是没有记录&#xff0c;都逐渐忘了。所以写这篇博客总结记录一下&#xff0c;只要以后发现新的用法&#xff0c;就记得来编辑补充一下 perf 比较基础的用法&#xff1a; 先改这…...

高等数学(下)题型笔记(八)空间解析几何与向量代数

目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2

每日一言 今天的每一份坚持&#xff0c;都是在为未来积攒底气。 案例&#xff1a;OLED显示一个A 这边观察到一个点&#xff0c;怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 &#xff1a; 如果代码里信号切换太快&#xff08;比如 SDA 刚变&#xff0c;SCL 立刻变&#…...