zoukankan      html  css  js  c++  java
  • union 的两个用处

    1 节约内存:

    这一功能可以参考我的其它博文:

    https://i.cnblogs.com/EditPosts.aspx?postid=8545190&update=1

    2 测试机器大小端:

    大端:高字节存在低地址(高在前);

    小段:高字节在高地址(高在后);

    union的一特性在于所有的成员共享一段内存;

    上代码:

     1 // TemplateExe1.cpp : 定义控制台应用程序的入口点。
     2 //
     3 
     4 #include "stdafx.h"
     5 #include <iostream>
     6 #include "atlstr.h"
     7 using namespace std;
     8 union Num
     9 {
    10     int a;
    11     unsigned char b;
    12 
    13 }uNum;
    14 CString CheckCpu()
    15 {
    16     uNum.a = 0x00000001;
    17     return(uNum.b == 1 ? "小" : "大");
    18 }
    19 void main()
    20 {
    21     
    22     printf("%s",CheckCpu());
    23     getchar();
    24 }

    a=0x00000001;

    高位0,低位1:

    如果高位(0)在低地址,则是大端;低位(1)在低地址,则是小端;

    一个union类型,而unsigned char b只占一个字节,要么为:0x00,要么是0x01。

    说明:uNum.a=1;只是一种情况,只要a的32bit中,最高位和最低位不一致即可

    除特殊说明外,其余所有文章均属原创。未经允许,请勿进行转载或者其他操作 有问题欢迎留言交流
  • 相关阅读:
    PHP生成二维码并上传到七牛云
    算法入门---选择排序
    算法入门
    react入门-refs
    react入门-props.children
    react入门-组件方法、数据和生命周期
    react入门-jsx
    递归
    node的path.join 和 path.resolve的区别
    vuex的使用
  • 原文地址:https://www.cnblogs.com/LiuBingBlogs/p/8545546.html
Copyright © 2011-2022 走看看