zoukankan      html  css  js  c++  java
  • 大端和小端

    字节序大端小端是针对超过一个byte的数据类型在内存中的存储布局来讲的。
    对于小端处理器,如果要寻址一个word型数据,处理器首先由地址总线发出地址,之后对于由32位数据总线(32位处理器)返回的数据,小端处理器认为0-7位数据线是低端数据,而24-31位数据线为高端数据。
    相反,对于大端处理器,寻址一个word型数据,处理器对于数据线返回的数据,认为24-31位数据线为低端数据,而0-7位数据线为高端数据。
    首先说明内存本身是没有字节序一说的,但是对于内存中同样一段数据,小端处理器读出来的数据意义和大端处理器读出来的数据意义是不同的,所以其存储数据的顺序是由处理器字节序来决定的。
    0x1234
    大端模式:低地址存放高字节。低-->高 0x12,0x34
    小端模式:低地址存放低字节。低-->高 0x34,0x12
    通常我们说的主机序(Host Order)就是遵循Little-Endian规则。所以
    当两台主机之间要通过TCP/IP协议进行通信的时候就需要调用相应的函数进行主机
    序(Little-Endian)和网络序(Big-Endian)的转换。

    //如何判断主机是大端还是小端
    #include<stdio.h>
    int main() {
        unsigned int a = 0x1234;
        unsigned char b = *(char*)(&a);
        if(b == 0x12) printf("大端
    ");
        else printf("小端
    ");
    }
  • 相关阅读:
    Android JNI 本地开发接口
    Android 主题切换 小结
    Android 屏幕适配
    android 中获取视频文件的缩略图(非原创)
    android 多媒体数据库(非原创)
    Android tween 动画 XML 梳理
    activity 四种启动模式
    Activity 横竖屏切换
    Android Activity 管理 (AppManager)(非原创)
    Android moveTaskToBack(booleannon Root)
  • 原文地址:https://www.cnblogs.com/afreeman/p/8524486.html
Copyright © 2011-2022 走看看