CSAPPLAB配置

本文讲述我自己做CSAPP实验时的环境搭建,目前我只做了CSAPP DATAlab一个实验,所以后续实验需要到的一些配置在本文可能不会提到,但会持续更新(如果我有做后面的实验的话,手动狗头)。

1 安装虚拟机和ubuntu

第一步实验要求在Linux环境下运行,所以需要安装Linux或虚拟机以及ubuntu,我个人的话安装的是虚拟机以及ubuntu。关于安装虚拟机以及ubuntu,我用的是下面这个网址里面的教程,教程挺详细的,不再重复,直到下载完VS CODE即可,注意那个共享文件夹的位置,稍后实验需要用到。

https://0xffff.one/d/391

阅读更多
CSAPP_DATALAB

1 bitXor

题目:

  • 目标:实现 x ^ y.

  • 限制:只能使用操作符~,&

  • 最大操作次数: 14

  • 难度:1

阅读更多
欧拉函数一个小的证明

1 欧拉函数ϕ(n)表示小于n且与n互素的正整数的个数,且习惯上有ϕ(1)=1。

2 显然,对素数p,有ϕ§=p-1

3 证明ϕ(n)=ϕ(pq)=ϕ§ * ϕ(q)=(p-1)(q-1): p,q为素数,证明如下

因为n=p*q,易得小于n的数正整数的集合S={1,…(pq-1)},一共有pq-1个元素,其中不与n互素的集合为A={p,2p,3p…(q-1)p}与B={q,2q,…(p-1)q}。且这两个集合没有重复元素,因为p和q都是素数,在集合A中找不到是q的整数倍的元素,同理在集合B中也找不到是p的整数倍的元素,因此ABA\cup B={p,2p…(q-1)p, q,2q,…(p-1)q},元素个数为**(q-1)+(p-1)**,所以

ϕ(n)=(pq1)((q1)+(p1))=(p1)(q1)=ϕ(p)ϕ(q)ϕ(n)=(pq-1)-((q-1)+(p-1))=(p-1)*(q-1)=ϕ(p)*ϕ(q)

证明完


乘法逆元的求法总结

乘法逆元求法小结

逆元的定义

对于整数a和p,如果a与p互质,我们定义x为a的逆元,计为a1a^{-1},满足ax1 (mod p)a*x ≡ 1\ (mod \ p)

阅读更多
CSAPP一个小例子

标题党标题党

最近在CSAPP看到一个有趣的小例子 -1== 4294967295?

阅读更多