联合体 合并-用union实现两个int型合并为longlong型

问题描述

用union实现两个int型合并为longlong型

#include
#include
int main(void)
{
union
{
long long i;
// int i;
struct
{
int first;
int second;
}sql_l;
}number;

number.sql_l.first= 1;
number.sql_l.second=2;
printf("%lldn",number.i);
//printf("%dn",sizeof(int));
//printf("%dn",sizeof(long long));
// system("pause");
return 0;

}
./a.out
8589934593
为什么得到的number.i是这个数呢?和合并取得的高位为1,低位为2没什么关系啊,8589934593这个值是怎么的出来的呢?

解决方案

有这么几个问题,关键是你的开发环境所致。第一,int数据类型长度,2还是4字节?第二,long long的长度?第三,first和second先后声明后它们分别占据低位和高位还是高位和低位?你把这三个关于环境的问题了解后再分析。

时间: 2024-09-29 00:16:13

联合体 合并-用union实现两个int型合并为longlong型的相关文章

sql-如何将数据库表的两张表进行合并查询

问题描述 如何将数据库表的两张表进行合并查询 有两张表,数据列均不一样,要将两张表的数据合并到一起,想应的sql怎么拼接呢?求大神解答,不胜感激! 解决方案 你想怎么合并? 如果是按照关系合并,可以这么写 select a.*, b.* from a join b on a.id = b.aid 如果是数据合并(假设两个表都有 相同列1 相同列2 两个字段),那么可以这样 select a.相同列1, a.相同列2 from a union select b.相同列1, b.相同列2 from

dataset-C#两个班级都有班级成绩表,将两个成绩表合并,按成绩排序

问题描述 C#两个班级都有班级成绩表,将两个成绩表合并,按成绩排序 C#将两个字段相同的dataset合并,并排序(两个班级都有班级成绩表,将两个成绩表合并,按成绩排序) 解决方案 DataSet dsClass1 = XXX1(); DataSet dsClass2 = XXX2(); dsClass1.Merge(dsClass2); DataView dv = new DataView(dsClass1.Tables[0]); dv.Sort = "Score desc"; Re

Word如何把两个人的内容合并到同一个文档里?

Word如何把两个人的内容合并到同一个文档里?   来看看甲乙各自写在哪里了?甲负责撰写大纲1的内容,乙负责写大纲3的部分,二者不是顺序排列,简单的复制粘贴非常麻烦. 这时,新建一个Word文档,切换选项卡到审阅,最右侧选择"比较"中的"合并" 分别在原文档和修订的文档中,选中两个文档内容(无所谓顺序),例子中甲写的部分为Doc1.docx,乙写的部分为Doc2.docx,点击确定. 弹出提示框中,选择任意一个要保留的格式方案,根据自己需求选择.

Excel中合并单元格的两种常用方法

  在本文的范例中,要做的就是合并A1.B1两个单元格,来得到表格的标题. 合并单元格的方法一 选中需要合并的单元格,这里就是A1和B1两个单元格,然后切换到"开始"选项卡,在"对齐方式"组中单击"合并后居中"按钮即可. 合并单元格的方法二 1.选中A1和B1单元格,单击鼠标右键,选择"设置单元格格式". 2.切换到"对齐"选项卡,在"文本控制"下勾选"合并单元格".

Excel2003合并单元格的两个技巧

Excel2003合并单元格的两个技巧   方法一 选中要合并的单元格,单击"格式"工具栏中的"合并及居中". 方法二 1.选中要合并的单元格,格式-单元格 2.切换到"对齐"选项卡,勾选"合并单元格". 效果:以上两种方法都会得到如下效果. word教程 Excel教程 PowerPoint教程

Excel合并单元格的两种简单方法

  第一种方法:快捷按钮 如下图一样,在Excel的格式工具栏中,找到如下图的图标. 即上图中蓝线圈住的那按钮,点击一下,就可以将已选择的多个单元格合并成为一个单元格.再点击一下,会将已合并的单元格,还原成为未合并前的多个单元格的状态. 仍然,这种合并后的单元格,有一个缺点,那就是:单元格中的内容,在垂直方向上,不会居中对齐. 第二种方法:通过对话框合并 首先选择好欲合并单元格的多个单元格,然后执行菜单操作:"格式"→"单元格",弹出如下图的对话框. 上图中,首先选

c-CodeWarrior中关于硬件 两个C工程合并的问题

问题描述 CodeWarrior中关于硬件 两个C工程合并的问题 如题,现在有两个关于硬件的C工程文件(单独运行可以通过) , 里面的include有很多地方重复(把所有INCLUDE文件整合到一个工程下,还是不行)~ 编译无法通过~ 各位大神好心人知不知道怎么解决~ 另: 最好可以加个QQ咨询下问题 解决方案 检查下include是否重复包含,有没有冲突的全局变量,然后只能保留一个程序入口.

winform-求大神 如何把两个Winform程序合并显示在一个页面 其中一个只有安装包

问题描述 求大神 如何把两个Winform程序合并显示在一个页面 其中一个只有安装包 基于.Net 4.0 开发的 自己做了一个EXE程序A 现在需要把我自己做的和 已有的客户端程序B 合并显示在一个窗口里运行 现在有B的安装包:目前通过添加引用B的DLL 可以把登陆界面和A 显示在一个窗口 ,但是登录就是报错; 希望路过的大神们给指点指点 解决方案 要看报什么错,是不是缺少文件或者配置的问题.用installshield le打包.

内存-初始化值相同的两个int类型,栈中开辟几块空间

问题描述 初始化值相同的两个int类型,栈中开辟几块空间 String s1= "123"; String s2= "123"; 像上面这样定义两个值相同的String的时候,栈中是用了一块内存的.那么如果是定义两个值相同的int类型呢? int i1=1; int i2=1; 解决方案 两个,string哪个因为是常量,内容一样,存储在常量区 解决方案二: 两个int类型的数据值都是1 在常量池中指向同一个地址 但是两个引用是不同的地址