利用联合体union确认当前系统的存储模式
2012-11-08 16:02
387 查看
现在失业在家,找工作好困难,毕业生伤不起...
今天发现一本好书:《C语言深度剖析》,一口气看了不少,收获颇丰。也发现有很多问题,自己以前研究过,并且弄的清清楚楚,但是久而久之也忘掉不少。终于开始要弄一个技术博客了,正好把精华留下,算是做个笔记,以供自己随时翻阅。
union确定系统当前存储模式的妙用又不记得了。天,到底还是缺少实际应用...
存储模式分:大端模式和小端模式
大端模式:字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。(高对低,低对高)
小端模式:字数据的高字节存储在高地址中,而字数据的低字节则存放在低地址中。(高对高,低对低)
int checkSystem( )
{
union check
{
int i;
char ch;
}c;
c.i = 1;
return (c.ch ==1);
}
变量i 占4 个字节,但只有一个字节的值为1 ,另外三个字节的值都为0 。如果取出低地址上的值为0 ,毫无疑问,这是大端模式;如果取出低地址上的值为1,毫无疑问,是小端模式。这里利用了union 类型数据的特点:所有成员的起始地址一致。
今天发现一本好书:《C语言深度剖析》,一口气看了不少,收获颇丰。也发现有很多问题,自己以前研究过,并且弄的清清楚楚,但是久而久之也忘掉不少。终于开始要弄一个技术博客了,正好把精华留下,算是做个笔记,以供自己随时翻阅。
union确定系统当前存储模式的妙用又不记得了。天,到底还是缺少实际应用...
存储模式分:大端模式和小端模式
大端模式:字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。(高对低,低对高)
小端模式:字数据的高字节存储在高地址中,而字数据的低字节则存放在低地址中。(高对高,低对低)
int checkSystem( )
{
union check
{
int i;
char ch;
}c;
c.i = 1;
return (c.ch ==1);
}
变量i 占4 个字节,但只有一个字节的值为1 ,另外三个字节的值都为0 。如果取出低地址上的值为0 ,毫无疑问,这是大端模式;如果取出低地址上的值为1,毫无疑问,是小端模式。这里利用了union 类型数据的特点:所有成员的起始地址一致。
相关文章推荐
- 确认当前系统的存储模式(大端模式,小端模式)
- 确认当前系统的大小端存储模式
- 如何用程序确认当前系统的存储模式?
- 如何用程序确认当前系统的存储模式(大端模式、小端模式)
- 如何用程序确认当前系统的存储模式
- C基础练习二:利用联合体检测系统的大小端存储模式一例
- 如何用C程序确认当前系统的存储模式
- 利用联合体union编写测试系统大小端程序
- 本文是笔者根据数据库编程经验,利用C++语言的模板、继承、授权、多态等面向对象特性,借鉴命令模式,实现了对象在关系数据中的存储,降低应用系统与数据库之间的耦合,提高开发效率。
- 写一个程序判断当前系统存储模式是大端还是小端
- 利用联合体判断cpu的存储模式
- 《C关键字分析》利用联合体判断处理器存储模式
- 检测系统的大小端模式--利用union
- 利用Tokyo Tyrant构建兼容Memcached协议、支持故障转移、高并发的分布式key-value持久存储系统[原创]
- 大端小端存储模式以及其对Union数据类型的影响
- 查看当前系统的BIOS模式
- wifi pineapple | WiFiPineapple plus 使用之利用内部存储扩展系统ROM
- 利用联合体判断CPU是大端模式还是小端模式
- C语言学习笔记(三) 使用union检查系统大小端模式
- 存储当前的数据信息,用于恢复---备忘录模式