zoukankan      html  css  js  c++  java
  • 【杂】大小端、字节、字

    (1)大小端

    输入0x12345678,(明显左边是数据的高位,右边是数据的低位),(假设该变量地址为0xFFFF0000)

    a)大端(数据的高位放地址的低位)表示

    0xFFFF0000:12 34 56 78  (是不是跟书写顺序一样?)

    形象化:

    | 78 |

    | 56 |

    | 34 |

    | 12 | 0xFFFF0000

    b)小端(数据的高位放地址的高位)表示

    0xFFFF0000:78 56 34 12

    形象化:

    | 12 |

    | 34 |

    | 56 |

    | 78 | 0xFFFF0000

    c)通常我们看到的x86结构,ARM处理器等都是小端

    d)实验验证

    #include <iostream>
    using namespace std;
    int main()
    {
    	int x = 0x12345678;
    	short a = ((short *)&x)[0];
    	short b = ((short *)&x)[1];
    	printf("a = %x\n",a);
    	printf("b = %x\n",b);
    	return 1;
    }
    

    输出:(结果提示电脑为小端)

    a = 5678
    b = 1234
    请按任意键继续. . .

    -------------------------------------------------------------------------------------------

    (2)字节、字

    a)一个字节(BYTE)=8位;

      一个字(WORD)=32位,运算/取址的独立单元;(注:不是汉字的字,1个汉字16位,而这个WORD为32位)

      16位的称半字(HALFWORD);

      64位的称为双字(DOUBLEWORD);

    b)英文字母 -> 1个字节

      汉字       -> 2个字节

      英文字符 -> 1个字节

      中文字符 -> 2个字符

      注:估计用过source insight的人都对汉字/中文字符有深刻体会,呵呵,需要删两下才能删完,形象的说明它们是两个字节

    c)char      -> 1个字节

      short     -> 2个字节
      int     -> 4个字节
      double   -> 8个字节

  • 相关阅读:
    iscsi: 多路径
    Paxos算法分析
    ceph实践: 搭建环境
    ocfs2: 搭建环境
    设计模式:Context模式
    Ceph剖析:Leader选举
    Ceph剖析:定时器safetimer的实现
    nfs:环境搭建
    Ceph剖析:数据分布之CRUSH算法与一致性Hash
    Linux命令小结:crontab/netstat/iostat/sar
  • 原文地址:https://www.cnblogs.com/caixu/p/2670871.html
Copyright © 2011-2022 走看看