zoukankan      html  css  js  c++  java
  • 【OS】关于堆、栈生长方向和大小端模式

    ###Date: 2018-1-30

    ###Author: SoaringLee

    =======================================================================

    堆是向上生长的,即从低地址到高地址;栈是向下生长的,即从高地址到低地址。


    不同的系统在存储数据时是分大端(bit-endian)小端(little-endian)存储的,比如,Inter x86、ARM核采用的是小端模式,Power PC、MIPS UNIX和HP-PA UNIX采用大端模式。


    小端模式是:低地址上存放低字节,高地址上存放高字节。

    大端模式是:低地址上存放高字节,高地址上存放低字节,又称网络字节序。


    大小端的判别:

    /* 
     * 1: little-endian 
     * 0: big-endian 
     */  
    int checkEndian()  
    {  
        int a = 1;  
        char *p = (char *)&a;  
      
        return (*p == 1);  
    }  

    1: 0x00000001

    小端读取顺序:01--》00--》00--》00  *p=1(低地址)

    大端读取顺序:00--》00--》00--》01  *p=0(低地址)



    本文为博主原创文章,未经博主允许不得转载。若允许转载,请注明来源https://www.cnblogs.com/SoaringLee/,否则保留追究法律责任的权利!另外,本人提供付费咨询服务并长期承接各类毕设以及外包项目。联系QQ:2963033731。加Q备注:CSDN外包
  • 相关阅读:
    memcached stats 命令
    C# 压缩文件 ICSharpCode.SharpZipLib.dll
    复选框的全选与反选
    Internet Explorer 9 已安装在此系统上
    C# AES 加密与解密
    C# List<T> 泛型
    C# DataTbale详细操作
    C# 日志系统 log4net 配置及使用
    Web.config配置文件详解
    字符串比较
  • 原文地址:https://www.cnblogs.com/SoaringLee/p/10532554.html
Copyright © 2011-2022 走看看