逻辑电路与逻辑运算笔记分享

简介: 【4月更文挑战第1天】逻辑电路与逻辑运算笔记分享

在数字电路,我们经常会遇到逻辑电路,而在 C 语言中,我们经常用到逻辑运算。二者在原理上是相互关联的。

首先,在“逻辑”这个概念范畴内,存在真和假这两个逻辑值,而将其对应到数字电路或C语言中,就变成了“非 0 值”和“0 值”这两个值,即逻辑上的“假”就是数字电路或 C 语言中的“0”这个值,而逻辑“真”就是其它一切“非 0 值”。

然后,我们来具体分析一下几个主要的逻辑运算符。我们假定有2个字节变量:A 和 B, 二者进行某种逻辑运算后的结果为 F。

一、以下逻辑运算符都是按照变量整体值进行运算的,通常就叫做逻辑运算符:

  1. && 逻辑与。F = A && B,当 A、B 的值都为真(即非 0 值,下同)时,其运算结果 F 为真(具体数值为 1,下同);当 A、B 值任意一个为假(即 0,下同)时,结果 F 为假(具 体数值为 0,下同)。
  2. || 逻辑或。F = A || B,当 A、B 值任意一个为真时,其运算结果 F 为真;当 A、B 值都 为假时,结果 F 为假。
  3. ! 逻辑非,F = !A,当 A 值为假时,其运算结果 F 为真;当 A 值为真时,结果 F 为假。

二、以下逻辑运算符都是按照变量内的每一个位来进行运算的,通常就叫做位运算符:

  1. & 按位与,F = A & B,将 A、B 两个字节中的每一位都进行与运算,再将得到的每一位 结果组合为总结果 F,例如 A = 0b11001100,B = 0b11110000,则结果 F 就等于 0b11000000。
  2. | 按位或,F = A | B,将 A、B 两个字节中的每一位都进行或运算,再将得到的每一位结 果组合为总结果 F,例如 A = 0b11001100,B = 0b11110000,则结果 F 就等于 0b11111100。
  3. ~  按位取反,F = ~A,将 A 字节内的每一位进行非运算(就是取反),再将得到的每一 位结果组合为总结果 F,例如 A =  0b11001100,则结果 F 就等于 0b00110011;这个运算符我  们在前面的流水灯实验里已经用过了,现在再回头看一眼,是不是清楚多了。
  4. ^  按位异或,异或的意思是,如果运算双方的值不同(即相异)则结果为真,双方值相  同则结果为假。在C语言里没有按变量整体值进行的异或运算,所以我们仅以按位异或为例, F = A ^ B,A = 0b11001100,B =  0b11110000,则结果 F 就等于 0b00111100。

数字电路中的常用符号,这些符号有利于我们理解器件的逻辑结构


目录
相关文章
|
7月前
|
人工智能 Linux API
OpenClaw新手正确入门指南:云端/本地部署、先跑通高频动作+免费模型配置流程
很多人初次接触OpenClaw(Clawdbot)时,都会陷入同一个误区:疯狂收集技能、对接各种平台、搭建复杂流程,却始终没有让工具真正解决一个自己每天都会遇到的实际问题。新鲜感带来的进度幻觉,会让人误以为安装越多、配置越复杂就越厉害,可真正使用时却发现流程混乱、响应不稳定、无法稳定复现结果。OpenClaw的核心价值从来不是“能做多少事”,而是“能稳定做好一件事”。对于新手而言,正确的入门方式不是堆砌功能,而是选定一个高频动作,把上下文、执行步骤、输出格式、校验规则全部理顺,让工具形成可重复、可依赖的稳定工作流。在此基础上,再进行技能扩展、流程串联、多平台部署,才能真正发挥这款开源AI代理工
417 4
|
机器学习/深度学习 网络协议 异构计算
浅析GPU通信技术(下)-GPUDirect RDMA
目录 浅析GPU通信技术(上)-GPUDirect P2P 浅析GPU通信技术(中)-NVLink 浅析GPU通信技术(下)-GPUDirect RDMA 1. 背景         前两篇文章我们介绍的GPUDirect P2P和NVLink技术可以大大提升GPU服务器单机的GPU通信性...
30592 0
|
Java 开发工具 Android开发
【 uniapp 】打包Android的apk(原生APP-云打包),及发布测试
【 uniapp 】打包Android的apk(原生APP-云打包),及发布测试
【 uniapp 】打包Android的apk(原生APP-云打包),及发布测试
|
Oracle 关系型数据库 数据库
人大金仓数据库使用uuid
人大金仓数据库使用uuid
人大金仓数据库使用uuid
|
10月前
|
API
WhatsApp Business 账号被封怎么办?一文掌握 Meta 审核规则与恢复策略
当您的 WhatsApp Business API(WABA)账号因违反 Meta 政策被封禁时,可能导致企业消息服务中断。本文详细介绍 WABA 被封的常见原因、官方申诉流程、解封操作步骤。
1989 1
|
机器学习/深度学习 PyTorch TensorFlow
TensorFlow与PyTorch深度对比分析:从基础原理到实战选择的完整指南
蒋星熠Jaxonic,深度学习探索者。本文深度对比TensorFlow与PyTorch架构、性能、生态及应用场景,剖析技术选型关键,助力开发者在二进制星河中驾驭AI未来。
1078 13
|
人工智能 自然语言处理 算法
AI与API结合:自动解析商品描述+情感分析评论数据
AI与API深度融合正在重塑电商运营模式。通过自动解析商品描述、分析评论情感,企业可实现信息标准化、用户画像精准化及运营决策自动化。本文从技术架构、核心算法、实战案例三方面,详解AI如何驱动电商智能化升级。
|
机器学习/深度学习 存储
数据结构(九)---并查集
数据结构(九)---并查集
816 5
|
机器学习/深度学习 移动开发 算法
改进的激光方法与更快的矩阵乘法——论文阅读
Josh Alman与Virginia Vassilevska Williams在2021年提出改进的激光方法,将矩阵乘法指数ω的上界从2.37287降至2.37286。虽改进微小,但标志着自1986年以来核心技术的重要突破,展示了激光方法的潜力与优化空间。
434 3
|
并行计算 Python 容器
uv找不到Python头文件的解决方案
最近在微调LLM的时候,我发现使用uv构建的环境,有时候会找不到Python.h,导致一些库报错,如`fatal error: Python.h: No such file or directory`。通过设置`python-preference`可以解决。
1254 35