zoukankan      html  css  js  c++  java
  • 家庭作业(第二章、第三章、第七章、第八章)

    第二章选题

    2.58

    int is_little_endian(){
    int a = 1;
    return *((char*)&a);
    }

    2.59

    (x&0xFF) | (y&~0xFF)

    第三章选题

    3.55

    解答:

    算法思路如下:
    x的高32位为xh,低32位为xl。
    y的符号位扩展成32位之后为ys(ys为0或者-1)。
    dest_h = (xl*ys)_l + (xh*y)_l + (xl*y)_h
    dest_l = (xl*y)_l
    因为所有的乘法都是unsigned*unsigned。即对于 1*(-1),如果存入两个寄存器中,那么高32位是0,低32位是-1。 相当于 1*(UNSIGNED_MAX)。

    第七章选题

    7.7

    解答:

    在double x前加上static。

    7.9

    解答:

    p2中的main是弱符号,链接后的引用是foo6.c中的函数main。
    main的第一个字节就是0x55(pushl %ebp),所以能打印出0x55。
    

    8.13

    ->x=2

    ->x=4->x=3

    满足这种拓扑即可。


     


    8.16

    输出counter = 2,因为全局变量也是复制的,而不是共享的。


     

    8.18

    画一下进程图就可以知道。

                           

     

    所以ACE是可能的。

    参考文献:

    《深入理解计算机系统》pdf

    心得体会:第二章的题感觉比较容易, 第七章基础不扎实, 其实感觉第七章有点知识点感觉难以理解, 在同学的解释下, 略懂了点。

     

      

  • 相关阅读:
    [Flux] Component / Views
    [Flux] Stores
    [WebStrom] Change default cmd to Cygwin
    [AngularJS] ng-if vs ng-show
    [ES6] Array.find()
    [ES6] Array.findIndex()
    [Javascript] Object.assign()
    [Javascript] Intro to the Web Audio API
    [Falcor] Indroduce to Model
    [Farcol] Introduce
  • 原文地址:https://www.cnblogs.com/zhengwei0712/p/4891627.html
Copyright © 2011-2022 走看看