zoukankan      html  css  js  c++  java
  • 寻址和字节序列 读《深入理解计算机系统》笔记

          对于跨越多字节的程序对象,我们必须建立两个规则:这个对象的地址是什么,以及在存储器中如何排列这些字节。在几乎所有的机器中,多字节对象都被存储为连续的字节序列,对象的地址是所使用字节中的最小地址

         小端法:存储器中按照从最低有效字节到最高有效字节的顺序存储对象;

         大端法:存储器中按照从最高有效字节到最低有效字节的顺序存储对象;

        不同的机器采用不同的规则,我们可以通过程序来了解自己所用机器所采用的规则。

    #include<stdio.h>

    typedef unsigned char *byte_pointer;  //byte_pointer定义为指向unsigned char类型的对象指针

    void show_bytes(byte_pointer start,int len){

    int i;

    for(i=0;i<len;i++)

     printf(" %.2x",start[i]);

    printf("\n");

    }

    void show_int(int x){

    show_bytes((byte_pointer)&x,sizeof(int));

    }

    void show_float(float x){

    show_bytes((byte_pointer)&x,sizeof(float));

    }

    void show_pointer(void *x){

    show_bytes((byte_pointer)&x,sizeof(void *));

    }

    void test_show_bytes(int val)

    {

     int ival=val;

    float fval=float(ival);

    int *pval=&ival;

    show_int(ival);

    show_float(fval);

    show_pointer(pval);

    }

  • 相关阅读:
    [Android学习笔记]Activity
    [Android学习笔记]Activity,View,Windows简介
    [Android]Eclipse的使用
    [Cocos2d-x]解决Android平台ndk-build时不自动删除外部库
    [Cocos2d-x]Android的android.mk文件通用版本
    [C++][STL]string记录
    nyoj-103-A+B Problem II
    nyoj-95-众数问题
    nyoj-187-快速查找素数
    nyoj-8-一种排序
  • 原文地址:https://www.cnblogs.com/liujiangyi/p/2143321.html
Copyright © 2011-2022 走看看