• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
我是张洪铭我是熊博士
时光静好,与君同;细水长流,与君语
博客园    首页    新随笔    联系   管理    订阅  订阅

C++判断计算式是大端存储模式,还是小端存储模式

小端存储:数据的低字节存储在地址空间的低字节位,数据的高字节存储在地址空间的高字节位。

大端存储:数据的低字节存储在地址空间的高字节位,数据的高字节存储在地址空间的低字节位。

 

判断计算机是小端还是大端的核心点:

1、取出int类型低字节存于char,对比取出的低位存放的数据跟整个int类型数据的值。

2、跟据联合体特点,所有成员共享内存空间。

 

特别的:网络字节序是大端模式。

 

//try 一 try

void judgeSystemEndian()
{
    int a = 0x1234;
    char b = static_cast<char>(a);
    if (b == 0x12)
    {
        cout << "本计算机是___《大端》___存储模式." << endl;
    }
    else if (b == 0x34)
    {
        cout << "本计算机是___《小端》___存储模式." << endl;
    }

    union U
    {
        int a;
        char b;
    }u;
    u.a = 1;
    if (u.b == 0)
    {
        cout << "本计算机是___《大端》___存储模式." << endl;
    }
    else if (u.b == 1)
    {
        cout << "本计算机是___《小端》___存储模式." << endl;
    }
}

//我的电脑是小端模式

 如何将大端存储转为小端存储,如何将小端存储转位大端存储:https://www.cnblogs.com/azbane/p/11303592.html

posted @ 2019-08-05 15:50  我是张洪铭我是熊博士  阅读(1931)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3