• 深入理解计算机系统 第二章 信息的表示和处理 Part2 第二遍


    《深入理解计算机系统》 第三版

    第二遍读这本书,每周花两到三小时时间,能读多少读多少(这次看了 29 ~ 34 页)

    第一遍对应笔记链接 https://www.cnblogs.com/stone94/p/9866674.html

    对于跨越多字节的程序对象,有两个规则必须建立

    1、这个对象的地址是多少?

    一般使用所有字节中最小的地址作为对象的地址

    2、这个对象的内容在内存中如何排列?

    有两种排列方法

    (1)大端法

    最高有效为放在前面

    (2)小端法

    最低有效位放在前面

    Android 和 IOS 两个操作系统,都只支持小端法

    对于操作系统和处理器有点混淆,把常见的操作系统和处理器查了一下:

    操作系统
      电脑:Windows、Linux
      手机:IOS、Android
    处理器
      电脑:Intel、AMD
      手机:骁龙(小米)、麒麟(华为)

    对于应用程序员来说,由于机器所使用的字节顺序是完全不可见的,无论为哪种类型的机器所编译的程序都会得到同样的结果

    但是,在以下三个方面,字节顺序可能会引发一定的问题:

    1、在不同机器之间传送二进制数据时,如果小端法机器产生的数据被发送到大端法机器或者反过来时,接收程序会接收到反序的字节

    2、当阅读表示整数的字节序列时,字节序列也很重要,这通常发生在检查机器级程序时

    3、当编写规避正常的类型系统的程序时,字节顺序很重要

    c 语言的 sizeof 函数,返回一个对象或者类型所占的内存字节数

    函数详情可参考:

    https://blog.csdn.net/wzy198852/article/details/7246836

    # 疑问

    1、类型系统是什么?

    2、什么时候需要对象的字节表示?把源程序编译成汇编代码时,在汇编语言中需要吗?

    3、指针、类型、*、& 有点懵

    4、表示字符串和代码方面,引出的关于 ASCII 码和二进制的兼容性不太懂

  • 相关阅读:
    [FJOI2016] 建筑师
    AtCoder
    [Poetize6] IncDec Sequence
    CodeForces
    洛谷 P4551 最长异或路径
    WC 2018/CTSC 2018/APIO 2018 游记
    洛谷 P4538 收集邮票
    「PKUWC 2018」随机算法 (60分部分分做法)
    bzoj 3718: [PA2014]Parking
    bzoj 1023: [SHOI2008]cactus仙人掌图 2125: 最短路 4728: 挪威的森林 静态仙人掌上路径长度的维护系列
  • 原文地址:https://www.cnblogs.com/stone94/p/11494124.html
Copyright © 2020-2023  润新知