位域和大小端

2024-06-09 21:08
文章标签 大小 位域

本文主要是介绍位域和大小端,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

位域和大小端

intel 小端,使用位域从低字节开始赋值,赋值内还是从高位到低位

#include <stdio.h>union{int data1;char data2;
}Endian;int BigLittle()
{Endian.data1 = 0x12345678;printf("%x \n", Endian.data2);return 0;
}typedef struct{int first:8;int second:16;int third:8;
}HighLow;int highLowTest()
{int data = 0x12345678;HighLow *pHighLow = (HighLow *)(&data);printf("%x %x %x\n",pHighLow->first,pHighLow->second,pHighLow->third);return 0;
}int main()
{BigLittle();highLowTest();printf("hello, world.\n");getchar();getchar();return 0;}

输出:

/*RC /? 5.2.3690.0*/
  1. 0x78是低字节,在低地址,小端
    0x78是低字节,在低地址,小端

  2. 0x78是低字节,在低地址,赋值也从0x78开始,0x3456两个字节
    0x78是低字节,在低地址,赋值也从0x78开始,0x3456两个字节

猜想:
1. 位域始终是从低地址开始赋值的,得到的结果和处理器的大小端有关

0001 0010 0011 0100 0101 01100111 1000
8bit16bit8bit

如果

typedef struct{unsigned int first:7;unsigned int second:12;unsigned int third:13;
}HighLow;

从最低地址开始数,

0001 0010 0011 0 100 0101 0110 0111 1000
13bit12bit7bit

输出: 0x78 0x8ac 0x246

红红火火
恍恍惚惚

这篇关于位域和大小端的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1046301

相关文章

PDFQFZ高效定制:印章位置、大小随心所欲

前言 在科技编织的快节奏时代,我们不仅追求速度,更追求质量,让每一分努力都转化为生活的甜蜜果实——正是在这样的背景下,一款名为PDFQFZ-PDF的实用软件应运而生,它以其独特的功能和高效的处理能力,在PDF文档处理领域脱颖而出。 它的开发,源自于对现代办公效率提升的迫切需求。在数字化办公日益普及的今天,PDF作为一种跨平台、不易被篡改的文档格式,被广泛应用于合同签署、报告提交、证书打印等各个

【CSS in Depth 2 精译_024】4.2 弹性子元素的大小

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第一章 层叠、优先级与继承(已完结) 1.1 层叠1.2 继承1.3 特殊值1.4 简写属性1.5 CSS 渐进式增强技术1.6 本章小结 第二章 相对单位(已完结) 2.1 相对单位的威力2.2 em 与 rem2.3 告别像素思维2.4 视口的相对单位2.5 无单位的数值与行高2.6 自定义属性2.7 本章小结 第三章 文档流与盒模型(已

Linux下获取硬盘空间的大小

1. df 命令查看所有硬盘设备的信息 2. 查看指定路径的磁盘空间大小 代码获取空间大小案例:

Windows11电脑上自带的画图软件修改照片大小(不裁剪尺寸的情况下)

针对一张图片,有时候上传的图片有大小限制,那么在这种情况下如何修改其大小呢,在不裁剪尺寸的情况下 步骤如下: 1.选定一张图片,右击->打开方式->画图,如下: 第二步:打开图片后,我们可以看到图片的大小为82.1kb,点击上面工具栏的“重设大小和倾斜”进行调整,如下: 第三步:修改水平和垂直的数字,此处我修改为分别都修改为50,然后保存,可以看到大小变成63.5kb,如下:

Oracle 查看表空间名称及大小和删除表空间及数据文件方法

--1、查看表空间的名称及大小  SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size  FROM dba_tablespaces t, dba_data_files d  WHERE t.tablespace_name = d.tablespace_name  GROUP BY t.tablespace_na

俩个float数之间比较大小

需求:俩个标识金额的浮点数比较大小。 问题:相等无法成立。经过var_dump()打印,俩个浮点数数值 一样大。 解决:把标识金额的浮点数乘以100,抓换成整形,在做比较。即可使相等成立

DB2查看指定数据库大小

问题 想要查看DB2所在数据库的大小。 解决 登录服务器 不论是用SSH或者是Telnet登录服务器即可。然后,运行db2命令切换到db2控制台里面。 连接到指定数据库 db2 => connect to aaadbDatabase Connection InformationDatabase server = DB2/AIX64 9.5.4SQL authorizati

如何调整c盘分区大小,怎样把c盘空间调整小些

新买的笔记本电脑回来后发现电脑只分了C盘和D盘两个区,C盘就占了很大的空间,如何调整c盘分区大小,这样可以多腾些空间出来利用呢?虽然Win7有磁盘管理器可以压缩分区实现把C盘调小些,但是它的功能有限,压缩后也是很大一部分空间在C盘浪费,那怎样把c盘空间调整小些呢,下载我们介绍一个工具来完成这些复杂的动作:   1、下载安装分区助手DiskTool中文版。   在主界面上你可以看到C盘有60

CPU大小端字节序的检测

机器的字节序有两种,即大端字节序和小端字节序。 大端字节序:在内存中,低地址存放数据的 高位,高地址存放数据的 低位 小端字节序:在内存中,低地址存放数据的 低位,高地址存放数据的 高位 如例:定义数据  a = 0x01020304 小端方式:01 02 03 04 大端方式:04 03 02 01 那么如何判断呢,方式如下--> 一、 指

IIS修改文件上传大小限制

修改文件上传大小限制 ——IIS小知识 Web项目部署到IIS服务器上后,有时 在页面上传文件时,莫名失败 上传不上去,这是因为 IIS服务器有限制 一般不建议web端做大文件上传处理,受很多因素影响,可能文件会有损坏,如果实在需要做大文件上传,建议使用客户端 利用断点续传,保证文件的完整性。 下面教大家修改IIS服务器的文件上传大小限制: 如图:打开 ‘请求筛选’功能 点击‘编辑