C语言利用union 和 struct 进行位拆分
#include <stdlib.h>
typedef unsigned char uint8_t;
union wate_temp{
struct {
uint8_t wate_temp_low :1;
uint8_t wate_temp_high :4;
uint8_t reverse :3;
} wate_temp_T;
uint8_t wate_temp;
}; int main()
{
union wate_temp wate_temp_u;
wate_temp_u.wate_temp_T.wate_temp_high=7;
wate_temp_u.wate_temp_T.wate_temp_low=1;
printf("wate_temp=%d\n",wate_temp_u.wate_temp);
wate_temp_u.wate_temp = 20;
printf("wate_temp_high=%d\n", wate_temp_u.wate_temp_T.wate_temp_high);
printf("wate_temp_low=%d\n",wate_temp_u.wate_temp_T.wate_temp_low);
return(0);
}
C语言利用union 和 struct 进行位拆分的更多相关文章
- C语言union关键字,union和struct区别
union 关键字的用法与struct 的用法非常类似. union 维护足够的空间来置放多个数据成员中的“一种”,而不是为每一个数据成员配置空间,在union 中所有的数据成员共用一个空间,同一时间 ...
- 用union 和 struct 位域操作
很久没有用C 语言中的 union 和 struct 位域操作了. 最近用了一下(当然,我承认是从stackoverflow 上抄的) 需求是这样的,已知一个 LPARAM 整数 3866625 ,求 ...
- C语言利用结构体数组实现学生成绩管理系统
这篇文章主要为大家详细介绍了C语言利用结构体数组实现学生成绩管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 要求: 某班有最多不超过30人(具体人数由键盘输入) ...
- C语言 提取double的每一位
#include<stdio.h> int main() { double x = 256.141592654; ; //整数部分 while(n) //整数部分输出 { ; n /= ; ...
- 利用Code::Blocks搭建64位C++开发平台
0.前言 随着64位计算机的普及,编写64位程序成为程序员基本的要求.我在<体验Code::Blocks下的C++编程>中描述了利用Code::Blocks官方提供的封装了编译器的安装包( ...
- R语言利用ROCR评测模型的预测能力
R语言利用ROCR评测模型的预测能力 说明 受试者工作特征曲线(ROC),这是一种常用的二元分类系统性能展示图形,在曲线上分别标注了不同切点的真正率与假正率.我们通常会基于ROC曲线计算处于曲线下方的 ...
- C语言利用for循环打印菱形
C语言利用for循环打印菱形(高度为奇数) 这次用的方法是上下部分分开打印,先打印上部分,再打印下部分. 先举个简单的例子打印,再改进代码,登堂入室从而理解. 例:打印一个高度(高度必须为奇数)为 5 ...
- 利用SQl对数据库实行数据拆分与组合
利用SQl对数据库实行数据拆分与组合实现提供以下几种方案: 方法一: WITH CTE AS (SELECT A.Id,A.[Uid],UserName FROM (SELECT A.[id], RE ...
- union与struct以及大小端
两者的区别: 1. 共用体和结构体都是由多个不同的数据类型成员组成, 但在任何同一时刻, 共用体只存放了一个被选中的成员, 而结构体的所有成员都存在. 2. 对于共用体的不同成员赋值, 将会对其它 ...
- C 语言 联合union初见
1.什么是联合? “联合”是一种构造类型的数据结构.在一个“联合”内可以定义多种不同的数据类型, 一个被说明为该“联合”类型的变量中,允许装入该“联合”所定义的任何一种数据,这些数据共享同一段内存,已 ...
随机推荐
- P6327 区间加区间sin和 题解
P6327 区间加区间sin和 题解 题目描述 给出一个长度为 \(n\) 的整数序列 \(a_1,a_2,\ldots,a_n\),进行 \(m\) 次操作,操作分为两类. 操作 \(1\):给出 ...
- Git【初次提交内容(代码)到新创建的远端仓库】
哈喽大家好,转眼到了年后了.年都过完了,就要开始工作了啊.那今天给大家带来的是(题目).因为从实习期开始,就一直用SVN,即使是使用Git的时候,也用了Sourcetree工具.直到最近打算和朋友(兮 ...
- CAN2-CH32V307CAN2使用说明与CAN波特率计算方法
一.修改引脚 CH32V307CAN2的TX为PB13,RX为PB12 注意用CAN2时需要初始化CAN1的时钟. 二.配置CAN2过滤器开始的组(组号与图24-4相对应) 三.将FIFO0改为FIF ...
- FAQ 关于pip你应该知道的一些技巧
pip简介 pip是安装了python之后的一个应用程序,包管理程序,有点类似于yum.npm.apt等工具 物理位置一般是python.exe所在目录下的scripts下 以我为例,我Python安 ...
- LeetCode_804. 唯一摩尔斯密码词
题目 难度:简单 原文:https://leetcode-cn.com/problems/unique-morse-code-words/ 题目 国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一 ...
- 重学SpringBoot. step6 SpringBoot高级技巧
SpringBoot高级技术 博客地址: step6 SpringBoot高级技巧 异步线程池 书上讲的是什么像异步操作那样,然后不需要等待. 问题是,不需要等待,但数据在生成的时候的时间并不能省. ...
- Vite 配置别名 vue3 项目
官方文档还是有点难懂,然后点链接找到了 https://github.com/rollup/plugins/tree/master/packages/alias#entries // rollup.c ...
- Python 发展趋势:与 Rust 深度融合、更易于编写 Web 应用
大家好,我是猫哥,好久不见!2022 年末的时候,我不可避免地阳了,借着身体不舒服就停更了,接踵而至的是元旦和春节假期,又给自己放了假,连年终总结也鸽了,一懈怠就到了 2 月中旬-- 现在是我家娃出生 ...
- .NET为什么推荐它作为RabbitMQ消息队列的首选开发工具
支持.Net Core(2.0及以上)/.Net Framework(4.5及以上),可以部署在Docker, Windows, Linux, Mac. RabbitMQ作为一款主流的消息队列工具早已 ...
- 代码随想录算法训练营day02 | leetcode 977/209/59
leetcode 977 分析1.0: 要求对平方后的int排序,而给定数组中元素可正可负,一开始有思维误区,觉得最小值一定在0左右徘徊,但数据可能并不包含0:遂继续思考,发现元素分布有三种情 ...