计组-黑书笔记
二进制
抽象
借助于抽象的威力,年迈的祖母可以通过计算机上网,而不用考虑电子的量子波动或计算机中的存储器组织问题。
抽象是必要的,略去了可以忽略的复杂性:
应用软件:程序
OS:设备驱动程序
体系结构:指令寄存器
程序员观点的计算机抽象
微结构:数据路径控制器
将逻辑和微结构连接在一起
将逻辑组件组合在一起以实现体系结构中定义的指令
逻辑:加法器、存储器
利用数字电路构建更复杂的组件,如加法器、寄存器
数字电路:与门、非门
将电压控制在离散范围内表示0/1
数字电路是模拟电路的子集
模拟电路:放大器、滤波器
输入输出都是连续的电压值
器件:晶体管、二极管
器件具有明确的外部连接点,成为端子
物理学:电子
一个具有NNN个状态的离散值变量的信息量D=log2ND=\log _2ND=log2Nbits,一个二进制状态量包含1位的信息。
编码
原码、反码、补码
在补码中,正数最高位都是0,负数最高位都是1,这样保证了在进位时加法的正确性(利用了数位的溢出)
最高位可以看作符号位,但是其他数位的解释和原码中的负数有所不同:取反加一,使得能够实现 ...
计组-实验-Pre
虚拟机
基本命令
shell中,输入命令的格式为<命令名称><参数1><参数2><参数n>...。其中,“命令名称”有两种类型:系统命令和路径命令。
系统命令直接由命令名表示。如,cd和ls,vcs皆为系统命令。
路径命令的格式则为路径/程序文件名,程序可以位于任何地方,不一定是系统程序目录。
例如,用户主目录中有hello.sh文件。在shell中输入~/hello.sh或./hello.sh,即可执行这个文件(注意后者只能在用户主目录下执行)。
只有特定的文件(例如脚本、可执行文件)才能被执行,文本文件、Verilog源代码文件等都是不能执行的。
ls:查看当前目录下的所有文件。
cd:进入其他目录。
date:查看当前日期时间。
cp<源文件名><目标文件名>:复制文件。
rm<文件名>:删除文件。
echo<文本>:原样显示文本。
cat<文件名>:查看文件内容。
主目录
~是一个缩写,代表用户的主目录(home)。在表示文件路径时,我们常用这个缩写,例如~/VCS- ...
python笔记
最近参加了一个很水的AI-ML访学项目,由于极度水深知有些人是0python基础。
我不能这样子,借此机会来复习一下忘记很久的python,并学习一下ML
在对象-ML之前的部分(即文件之前的)均为初始笔记,后续为新进学习的
写在前面
python是一种面向对象的程序语言,最重要的体现在于定义变量是定义了数据的名称,可以理解为指向数据。简单的赋值只能改变指向关系,不能改变对应的值
在赋值、计算、函数中这一点都有体现
作为解释变量的语言,python不需要定义数据类型,而是在程序运行过程中由编译器进行改变
数据类型
python选用了动态语言类型,运行过程中可以改变数据类型
python是一种面向对象的程序语言,变量实际上是指向实际数据的“指针”,可以有多个变量指向一个实际数据
基本数据的基本函数
函数名
作用
ord()
返回Unicode字符对应的整数
chr()
返回整数所对应的Unicode字符
bin()
将整数转换成2进制字符串
oct()
将整数转化成8进制数字符串
hex()
将整数转换成16进制字符串
list()
根据传入的参 ...
物理·四维矢量
物理学家总是热衷于寻找不变量。在惯常思考的经典物理学世界中,长度是不变的,其表达式为:Δl=Δx2+Δy2+Δz2\Delta l=\sqrt{\Delta x^2+\Delta y^2+\Delta z^2}Δl=Δx2+Δy2+Δz2,在不同的参考系中,如直角坐标系、极坐标系、柱坐标系中,总能够都是一样的结果。
线元确定几何,每当确定了线元时,总可以确定其他的各种变量,故此时我们需要找到一个不变的,具有线元量纲的量。
那么在相对论的世界中呢,我们直到洛伦兹变换:
{x′=x−vt1−v2c2y′=yz′=zt′=t−xvc21−v2c2\begin{cases}
x'=\frac{x-vt}{\sqrt{1-\frac{v^2}{c^2}}} \\
y'=y \\
z'=z \\
t'=\frac{t-\frac{xv}{c^2}}{\sqrt{1-\frac{v^2}{c^2}}}
\end{cases}
⎩⎨⎧x′=1−c2v2x−vty′=yz′=zt′=1−c2v2t−c2xv
此时如果再计算Δl\Delta ...
CS-Crash Course笔记
本文是B站上的视频计算机科学速成课的学习笔记,在极短的时间内能有一个对CS的概览
2023.07.20Update:结束了整个系列的观看,最大的后悔是应该在早一年的暑假中看完,不过人为时不晚
亿万年后太阳燃尽,地球成为星辰,也许我们的机器人孩子,会继续探索宇宙的每一个角落
1.计算机早期历史
信息时代:大规模使用计算机
计算设备历史
算盘
步进计算机(一连串的齿轮驱动)
加法、减法(将乘除分解为连续的加减进行)
差分机(对多项式进行计算)
分析机:自动进行连续的任务(计算机的雏形)
美国人口普查的打孔卡片
2.电子计算机
继电器:用电控制的机械开关(通电时导通),有质量因而无法迅速开关,限制了速率
真空管:通过电子控制电路的导通,从机电到电子
降低成本和大小,提高速度和可靠性:晶体管
晶体管
半导体物理,控制导通或否
如今计算机中的晶体管小于50nm
3.布尔逻辑与逻辑门
二进制:只用真假/01代表信息
状态越多,越难区分信号
布尔代数:and、not、or
基础的逻辑元件(完全集):与门、非门
4.二进制
1字节=8位
5.算术逻辑单元
ALU:算术逻辑单元(算数: ...
复变函数-第一章
暑假里在床上摆烂的日子太多了,还是想要多学一些知识的。尽管选择了计算机专业,但我始终还是认为将其视作工具更好,预习的过程充满着犹豫与磨蹭。
那就学数学,那就学物理!从中学时学物理时开始解除复数,不过只用在微分方程求解中降低求导运算的难度;上大学后在微分方程、傅里叶级数种和复数又有了一些解除。实数之外的世界,又是怎么样的呢?
复变,启动!
复数
对于复数z=x+iyz=x+iyz=x+iy,记x=Re(z),y=Im(z)x=Re(z),y=Im(z)x=Re(z),y=Im(z)。
辐角
定义:在z≠0z\ne0z=0的情况下,以正实轴为始边,θ=Argz\theta=Argzθ=Argz
主值:在z≠0z\ne0z=0的情况下,将−π<θ⩽π-\pi<\theta\leqslant\pi−π<θ⩽π的θ0\theta_0θ0,称为辐角ArgzArgzArgz的主值,记为θ0=argz\theta_0=argzθ0=argz
argz={arctanyx,x>0arctanyx±π,x<0,y>(<)0±π,x=0,y>(&l ...
数据结构笔记
栈、队
顺序
栈的顺序是始终在栈顶进行入栈和出栈操作
队的顺序是在队头进行出队,在队尾进行入队
后缀表达式
后缀表达式的转换方式
规则:从左到右遍历表达式中的每个数字和符号
若是数字直接输出,成为表达式的一部分
若是),则将栈中元素弹出并输出,直到遇到(,(弹出但不输出
若是(,+,*等符号,则从栈中弹出并输出优先级高于当前的符号,直到遇到一个优先级低的符号;然后将当前元素压入栈中
*优先级:( > 、/ > +、-
遍历结束,将栈中所有元素依次弹出,直到栈为空
后缀表达式的计算方式
若是数字直接进数字栈
若是运算符(+、-、*、/),则从符号栈中弹出两个元素进行计算(后弹出的是左运算数),并将计算结果入数字栈
遍历结束,将计算结果从数字栈中弹出。此时数字栈中应该只有一个元素,否则表达式有错
在转换中缀表达式的同时进行表达式的计算
主要思路:当一个运算符号出栈,与数据栈中的数据进行计算,计算结果依然保留在数据栈中
板子
123456789101112131415161718192021222324252627282930313233343536 ...
程序设计笔记
在期中和期末复习期间的笔记
从输入到输出
不同进制数
十进制:%d、%lld
十六进制:%x、%llx、%#
输出4位大写十六进制数:%04X
输出时加上0x:使用%#(提醒编译器在输出十六进制数时加上0X)
八进制:%o
十六进制与二进制
十六进制一位对应了4位二进制数,可以直接转换输出,如:
12345678910111213141516171819while(~scanf(" %c",&c)){ if(c=='0') printf("0000"); else if(c=='1') printf("0001"); else if(c=='2') printf("0010"); else if(c=='3') printf("0011"); else if(c=='4') printf("0100"); ...
建站初尝试
感想
经过初尝试,博客也总算可以被看到了,漫漫长路的第一步。
接下来还需要
了解git的具体用法
解决图床的问题(如果有了背景且博客有了漂亮的封面。那么这个问题可能就解决了)
将以往写的一些东西上传
鸣谢
CajZella学姐的博客,尽管她可能不知道我看到了
Bluebean学子的博客,尽管他也可能不知道我看到了
butterfly主题的官方文档,中文文档好好好