结构体中特殊定义int a:5
发布日期:2021-06-30 10:11:54
浏览次数:3
分类:技术文章
本文共 803 字,大约阅读时间需要 2 分钟。
面试题
typedef struct AA{ int b1:5; int b2:2;}AA;void main(){ AA aa; char cc[100]; strcpy(cc,"0123456789abcdefghijklmnopqrstuvwxyz"); memcpy(&aa,cc,sizeof(AA)); cout << aa.b1 <
运行结果是-16,1
看到这个面试题,很晕,没见到过这种情况。
那么这个intb1:5,intb2:2;是什么意思?
表示b1占用5个二进制位,数据范围就是00000-11111,当然也分有无符号位了。Int b2:2;就是占接着的两个二进制位。
怎么占的呢?
sizeof(AA)又是多少呢?int型占4个字节,所以以4个字节为默认对齐字节,只能为4的倍数,所以为4.
取‘0123‘’’存在AA中,从4个字符的低5位给B1,接着的两位是b2.
#include#include #include #include #include #include using namespace std;typedef struct AB{ int b1:5; int b2:3; int b3:3; int b4:5; int b5:4; int b6:5; int b7:4;}AA;int main(){ AA aa; char cc[100]; strcpy(cc,"0123456789abcdefghijklmnopqrstuvwxyz"); memcpy(&aa,cc,sizeof(AA)); cout << aa.b1 <
转载地址:https://islet.blog.csdn.net/article/details/76155281 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月13日 07时55分54秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Machine Learning with MATLAB 1.1 to 2.2
2019-04-30
Learning DSP with MATLAB
2019-04-30
用MATLAB实现m序列的生成(MATLAB 2021a适用)
2019-04-30
MATLAB函数备忘(定期更新)
2019-04-30
13行MATLAB代码实现网络爬虫 爬取NASA画廊星图
2019-04-30
MATLAB指定路径保存图片方法
2019-04-30
Python一键获取微信推送封面图
2019-04-30
油猴脚本:微信推送浏览功能拓展
2019-04-30
JavaScript DOM对象操作详解
2019-04-30
JavaScript 表单操作与MD5加密
2019-04-30
jQuery 选择器与鼠标事件详解(附实例)
2019-04-30
Mcmod模组下载脚本
2019-04-30
intelliJ IDEA配置html文件在浏览器打开的快捷键
2019-04-30
(Ver 0.5)油猴脚本:微信推送浏览功能拓展
2019-04-30
JavaScript 点击文字复制到剪切板
2019-04-30
(Ver 1.0)油猴脚本:微信推送浏览功能拓展
2019-04-30
大数据技术之Hadoop(入门)概述、运行环境搭建、运行模式
2019-04-30
大数据技术之Hadoop(HDFS)概述、Shell操作、API操作、读写流程、工作机制
2019-04-30
大数据技术之Hadoop(MapReduce)概述、序列化
2019-04-30
ubuntu 18.04 编译octomap
2019-04-30