Day15 共用体(union).位运算
学习第15天今日知识点共用体(union)一、共用体 union 核心知识点1. 共用体和结构体最大区别结构体 struct 每个成员拥有独立内存空间所有成员内存累加共用体 union 所有成员共用同一块内存内存大小等于占用空间最大的那个成员。union data{int a;char b;};修改 a 的值 b 的值也会跟着被改变同一时刻只能有效使用一个成员。2. 内存用途节省内存空间、解析硬件寄存器、大小端测试、协议数据拆分。3. 易错点共用体不能同时保存多个数据后赋值会覆盖前面成员内容。二、位运算 6种基础运算符嵌入式高频考点运算符 作用 常见用途 按位与 对应位都为1结果才1 位清零、取出某几位、判断某一位是否为1 按位或 任意一位为1结果就是1^ 按位异或 两位不同则为1、相同为0 数据加密、交换两个变量无需临时变量、翻转特定位~ 按位取反 所有二进制位0变1、1变0 配合与运算实现位清除 左移 二进制整体向左移动低位补0 快速等价乘2 num n num * 2^n 右移 二进制整体向右移动高位补符号位 快速等价除2 num n num / 2^n实操重点- 嵌入式控制硬件引脚用 GPIO_REG | (13) 把第3引脚置高电平- 用 GPIO_REG ~(12) 把第2引脚电平清零- 异或交换两数不需要引入临时中间变量面试常考代码。三、今日踩坑总结1. 共用体容易混淆结构体内存分配逻辑结构体内存相加、共用体内存取最大成员2. 移位运算要注意数据类型有无符号负数右移会补符号位容易得到意外结果3. 位运算优先级低于加减运算写表达式一定要加上小括号保证运算顺序。四、学习感悟位运算可以直接操作二进制比特位是单片机/嵌入式开发必备基本功共用体适合处理硬件底层数据打包解析越往后越能感受到C语言贴近硬件的强大之处继续稳扎稳打

相关新闻

DSSC认证对软件测试的影响与应对策略

DSSC认证对软件测试的影响与应对策略

1. 欧盟数字主权认证(DSSC)对软件测试从业者的影响与应对策略最近几年,欧盟在数字主权和数据安全方面的监管越来越严格。作为软件测试工程师,我们不仅要关注功能测试、性能测试这些传统领域,现在还必须重视DSSC&#x…

2026/8/6 4:33:48 阅读更多 →
Python环境管理:解决externally-managed-environment错误与虚拟环境实践

Python环境管理:解决externally-managed-environment错误与虚拟环境实践

1. 项目概述:当“外部管理环境”拦住你的pip install最近在帮几个朋友处理Python环境问题时,发现一个错误提示的“出镜率”越来越高,尤其是在一些较新的Linux发行版(比如Ubuntu 22.04、Fedora 38)和macOS上。当你满心欢…

2026/8/7 7:14:04 阅读更多 →
YOLOv10工业部署优化|全网独家复现OpenVINO C++端到端推理、无NMS轻量化输出、助力工控边缘设备低延迟高精度目标检测

YOLOv10工业部署优化|全网独家复现OpenVINO C++端到端推理、无NMS轻量化输出、助力工控边缘设备低延迟高精度目标检测

目录 一、前言:YOLOv10边缘工业部署核心优势与行业痛点 二、YOLOv10算法核心革新与部署适配原理 2.1 传统YOLO系列部署核心痛点 2.2 YOLOv10无NMS轻量化推理核心机制 2.3 OpenVINO框架工业部署核心价值 三、工业级部署环境搭建与模型标准化导出 3.1 全套兼容环境配置(…

2026/8/6 4:32:48 阅读更多 →

最新新闻

单片机开发实战指南:从51到STM32的系统思维与项目避坑

单片机开发实战指南:从51到STM32的系统思维与项目避坑

如果你是一名电子爱好者、嵌入式初学者,或者正在为课程设计、毕业设计、蓝桥杯等比赛寻找一个核心控制方案,那么“单片机”这三个字你一定不陌生。但你是否曾有过这样的困惑:网上教程铺天盖地,从51到STM32,从点亮LED到…

2026/8/7 7:13:10 阅读更多 →
MongoDB 迁移新思路:KingbaseES 一体化多模架构破除烟囱式数据孤岛,实现零代码业务平滑切换

MongoDB 迁移新思路:KingbaseES 一体化多模架构破除烟囱式数据孤岛,实现零代码业务平滑切换

目录 一、行业现状:烟囱式多库架构下的 MongoDB 迁移诉求 1.1 企业数据库架构为什么会变成“烟囱式” 1.2 烟囱式架构带来的实际问题 第一,运维成本被反复放大 第二,数据孤岛影响业务分析能力 第三,MongoDB 自身事务能力在核…

2026/8/7 7:13:10 阅读更多 →
设计模式 10 · 组合模式

设计模式 10 · 组合模式

前面三篇(代理、装饰器、适配器)都是"包装一个对象"。从这一篇起,结构型模式换个话题——组织一群对象。第一站是组合模式(Composite),它专门对付一种特定的数据结构:树。 树形结构在业务里无处不在:文件系统里,文件夹装着文件,文件夹里还能装文件夹;公司组织里,部门…

2026/8/7 7:13:10 阅读更多 →
Debugger for Java 全配置属性盘点

Debugger for Java 全配置属性盘点

VSCode 生态中,由 Microsoft 出品的 Debugger for Java 扩展是 Java 开发者日常调试的核心工具。它基于 Java Debug Server 与 Eclipse JDT 配合,通过 DAP(Debug Adapter Protocol)将完整的 Java 调试能力接入 VSCode,…

2026/8/7 7:13:10 阅读更多 →
教育数智基座哪家有实力

教育数智基座哪家有实力

在当今数字化转型的大潮中,教育行业也在积极拥抱新技术,以提升管理效率和教学质量。然而,在众多教育信息化解决方案提供商中,如何选择一家真正具备实力的公司呢?本文将通过具体数据和案例,为你推荐一家在教…

2026/8/7 7:13:10 阅读更多 →
环形链表检测:哈希表与快慢指针算法详解

环形链表检测:哈希表与快慢指针算法详解

1. 题目背景与核心需求环形链表 II(LeetCode #142)是数据结构与算法领域的经典面试题,主要考察对链表结构的理解和双指针技巧的掌握。题目要求给定一个链表的头节点,返回链表开始入环的第一个节点。如果链表无环,则返回…

2026/8/7 7:12:10 阅读更多 →

日新闻

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南 【免费下载链接】scrcpy Display and control your Android device 项目地址: https://gitcode.com/GitHub_Trending/sc/scrcpy 想要将Android手机屏幕完美投射到电脑上,享受大屏操作的自…

2026/8/7 0:00:19 阅读更多 →
如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南

如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南

如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南 【免费下载链接】tom-select Tom Select is a lightweight (~16kb gzipped) hybrid of a textbox and select box. Forked from selectize.js to provide a framework agnostic autocomplete widget wi…

2026/8/7 0:00:19 阅读更多 →
5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件

5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件

5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件 【免费下载链接】nsz NSZ - Homebrew compatible NSP/XCI compressor/decompressor 项目地址: https://gitcode.com/gh_mirrors/ns/nsz 你是否在为Nintendo Switch游戏文件占用大量存储…

2026/8/7 0:00:19 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/6 22:02:27 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/6 22:02:27 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/6 22:02:27 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/5 23:28:39 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/6 22:02:28 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/5 23:46:51 阅读更多 →