嵌入式学习---DAY17:共用体与位运算

news2024/11/22 12:08:19

链表剩余的一些内容

一、共用体

union   共用体名                 名称首字母大写

{

        成员表列;

};

union Demo
{
    int i;
    short s;
    char c;
};
int main(void)
{
    union Demo d;
    d.i = 10;
    d.s = 100;
    d.c = 200;
    printf("%d\n", sizeof(d));        //结果为4
    printf("%d\n", d.i)               //结果为200
    return 0;
}

共用体变量所占的内存长度等于最长的成员的长度。

共用体主要用来判断计算机是大端还是小端

二、枚举类型

声明枚举类型用 enum 开头

如果一个变量只有几种可能的值,则可以定义为枚举类型。所谓“枚举”是指将变量的值一一列举出来,变量的值只限于列举出来的值的范围内。

enum Week
{sun,mon,tue,wed,thu,fri,sat};
int main(void)
{
    enum Week w;
    w = wes;
    printf("%d\n",sizeof(w));    //结果为4
    printf("%d\n", w);       //结果为3
    return 0;
}

也可以在声明里面赋值,如果将mon = 2,则后面tue 变为3,sun依旧为0。

三、用typedef定义类型

声明新的类型名代替已有的类型名。

typedef int INT;        //INT变为类型名int
typedef int ARRAY[10];   
ARRAY a;      //表示数组

四、位运算

将参与运算的两个数据,按二进制进行运算。

与    全一为一,有零为零        指定位清零

或    有一为一,全零为零       指定位置1

异或     相同为假,不同为真

取反       指定位反转

左移 :从右往左移,  右边补0

右移:分为算数右移:   有符号型  数据为正左边补0,为负补1。

                  逻辑右移:   unsigned  型    左边补零。

左移右移优先级五级,  自左至右

与     异或    或       依次为八、九、十级。自左至右。     

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1973159.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一起学习LeetCode热题100道(24/100)

24.回文链表(学习) 给你一个单链表的头节点 head ,请你判断该链表是否为 回文链表 。如果是,返回 true ;否则,返回 false 。 示例 1: 输入:head [1,2,2,1] 输出:true 示例 2: …

鸿蒙Scroll布局,横向与纵向

注意,当横向scroll时,直接子元素的宽,不能100%, 当纵向scroll时,直接子元素的高,不能100%​​​​​​​ 1、纵向代码: 方法1:用数值计算,来设置中间的高度: …

Django函数视图和类视图

函数视图 1.全局环境的urls.py引入映入应用的urls,避免后期开发路由过多而导致杂乱 from django.contrib import admin from django.urls import path, includeurlpatterns [path(account/, include(account.urls)),#使用include函数引入,表示account…

搜狗爬虫(www.sogou.com)IP及UA,真实采集数据

一、数据来源: 1、这批搜狗爬虫(www.sogou.com)IP来源于尚贤达猎头网站采集数据; ​ 2、数据采集时间段:2023年10月-2024年7月; 3、判断标准:主要根据用户代理是否包含“www.sogou.com”和IP核实…

我菜单为什么跟着滑动了?!!—— 固定定位为什么会失效?

背景:最近在写一个H5页面项目,头部有个菜单栏,需要固定在顶部不动,但是滑动之后设置并没有生效,之前开发中也遇到过类似的固定失效的情况,就去详细了解了下有哪些可能导致固定定位失效的情况。希望有些场景…

数据库文件管理

数据库文件与普通文件区别: 1.普通文件对数据管理(增删改查)效率低 2.数据库对数据管理效率高,使用方便 常用数据库: 1.关系型数据库: 将复杂的数据结构简化为二维表格形式 大型:Oracle、DB2 中型:MySql、SQLServer 小型:Sqlite 2.非关…

【传知代码】主动学习实现领域自适应语义分割(论文复现)

在当今计算机视觉和人工智能领域,语义分割技术的发展正日益成为实现智能系统感知和理解复杂场景的关键。然而,传统的语义分割模型往往面临着在新领域或不同环境下适应性不足的挑战。为了解决这一问题,主动学习作为一种强大的技术手段&#xf…

每日学术速递8.2

1.A Scalable Quantum Non-local Neural Network for Image Classification 标题: 用于图像分类的可扩展量子非局部神经网络 作者: Sparsh Gupta, Debanjan Konar, Vaneet Aggarwal 文章链接:https://arxiv.org/abs/2407.18906 摘要&#x…

echarts图表--雷达图(参数详解)

这是官网给出的几种雷达图: Examples - Apache ECharts 雷达图(Radar Chart)是一种用于展示多维数据的图表,尤其适合于比较不同样本或观测在多个相同变量上的表现。在使用ECharts或PyEcharts等可视化库绘制雷达图时,…

Prometheus 监控 Nginx

作者:琉璃 一、Nginx_exporter安装 下载链接: https://github.com/discordianfish/nginx_exporter 下载nginx_exporter的docker镜像。 ocker pull fish/nginx-exporter先run一下,执行之后,会hold住,先不要关闭窗口…

IP 地址处理模块IPy

IP 地址处理模块IPy 介绍安装基本操作多网络计算方法 介绍 IP 地址规划是网络设计中非常重要的一个环节,规划的好坏会直接影响路由协议算法的效率,包括网络性能、可扩展性等方面,在这个过程当中,免不了要计算大量的 IP 地址&…

【python】Linux升级版本

目的 迁移项目包路径到服务器上 查看服务器包是否和本地已有项目python版本相同然后发现~嗯不一样 项目上包时用的3.8~ 服务器用的2.7 查看方法: python -version解决方案 一:项目所有包重新下载 二:升级服务器python版本 第二种步骤&…

【虚拟仿真】Unity3D中实现2DUI显示在3D物体旁边

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址QQ群:398291828大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 这篇文章来实现2DUI显示在3D物体旁边,当我们需要在3D模型旁边显示2DUI的时候,比如人物的对…

医疗AI新突破!多模态对齐网络精准预测X光生存,自动生成医疗报告!

PS:写在前面,近期感谢很多小伙伴关注到我写的论文解读,我也会持续更新吖~同时希望大家多多支持本人的公主号~ 想了解更多医学图像论文资料请移步公主👸号哦~~~后期将持续更新!! 关注我,让我们一…

智能驾驶学习笔记,第一天

智能驾驶是智能汽车的核心,指基于先进的传感器和计算平台,通过人工智能技术,让汽车具备自主行驶的能力,旨在辅助驾驶员安全、便捷、高效地完成驾驶任务。智能驾驶有助于减少交通事故、改善交通拥堵,并提高行驶安全性和驾乘舒适性。…

LaTeX行间公式内部公式居中,以及行间公式整体居左

文章目录 多行公式居中行间公式整体居左(不靠谱版) 多行公式居中 行间公式默认整体居中,此处多行公式居中指使用$$ $$时内部公式对齐方式. 普通对齐: \begin{aligned}公式 \end{aligned}上述环境只能用&左对齐或右对齐(默认右&#xff0…

【数据结构】排序算法(快速排序、归并排序、排序算法总结)

当你清楚的知道自己想要什么,并且意愿非常强烈的时候,你总会有办法得到的。💓💓💓 目录 ✨说在前面 🍋知识点一:快速排序 • 🌰1.快速排序介绍 • 🌰2.霍尔排序 •🔥三数取中优化 •🔥小区间优化 • 🌰3.前后指针法 • 🌰4.快排非递归方法 🍋…

jvm调优参数

JVM调优是指调整JVM的参数,以优化Java程序的性能。以下是一些常用的JVM调优方法: 1.堆内存大小:通过-Xms和-Xmx参数设置JVM的初始堆内存和最大堆内存。堆内存太小会导致频繁GC,太大则可能导致内存利用率不高。 2.新生代与老年…

Java 设计模式之策略模式 (Strategy Pattern) 详解

Java 设计模式之策略模式 (Strategy Pattern) 详解 策略模式(Strategy Pattern)是一种行为型设计模式,旨在定义一系列算法,将每个算法封装起来,并使它们可以互相替换,从而使得算法的变化不会影响使用算法的…

掩码、反掩码、通配符的区别和计算方式

注:几篇文章合集捋清掩码、反掩码、通配符的区别。 ACL 通配符,子网掩码,反掩码区别和计算方式 192.168.1.1 255.255.255.0 掩码: 1111111111111111000000000 左边永远是 1,右边永远是 0 1 和 0 ,永远不…