数值数据的表示方法:直接用二进制表示:定点或浮点表示方法; BCD码…
数值数据在计算机内部编码表示的数称为机器数。机器数真正的值称为机器数的真值
合理增大码距,能提高发现错误的能力,但表示一定数量的合法码所使用的二进制位数要变多,增加了电子线路的复杂性和数据存储、数据传送的数量
校验过程:
实现原理:使码距由1增加到2。若编码中有1位二进制数出错了,出错的编码就成为非法编码,就可以知道出现了错误。在原有的编码之上再增加1位校验位,原编码 k k k 位,形成新的编码为 k + 1 k+1 k+1 位。增加的方法有2种:
实现原理:假设将数据 D = d n − 1 d n − 2 . . . d 1 d 0 D=d_{n-1}d_{n-2}...d_1d_0 D=dn−1dn−2...d1d0 从源部件传送至目的部件。在目的部件接收到的数据为:
D ′ = d n − 1 ′ d n − 2 ′ . . . d 1 ′ d 0 ′ D'=d_{n-1}'d_{n-2}'...d_1'd_0' D′=dn−1′dn−2′...d1′d0′
CRC(Cyclical Redundancy Check)校验码一般是指 k k k 位信息之后拼接 r r r 位校验码
CRC整个编码长度为 n = k + r n=k+r n=k+r 位,故CRC码又叫 ( n , k ) (n,k) (n,k) 码。其编码方法如下:
CRC编码采用的是按位加、减法,即不考虑进位与借位,运算规则为: 0 ± 0 = 0 , 0 ± 1 = 1 , 1 ± 0 = 1 , 1 ± 1 = 0 0\pm0=0,0\pm1=1,1\pm0=1,1\pm1=0 0±0=0,0±1=1,1±0=1,1±1=0。因此
C ( x ) ⋅ 2 r + R ( x ) = Q ( x ) ⋅ G ( x ) C(x)\cdot2^r+R(x)=Q(x)\cdot G(x) C(x)⋅2r+R(x)=Q(x)⋅G(x)
上式中,等式左边即为所求的 n n n 位CRC码,其中余数表达式 R ( x ) R(x) R(x) 就是校验位( r r r 位)。且等式两边都是 G ( x ) G(x) G(x) 的倍数
发送信息时将等式左边生成的 n n n 位CRC码送给对方。当接收方接到 n n n 位编码后,同样除以 G ( x ) G(x) G(x),如果传输正确则余数为0,否则,可以根据余数的数值确定是哪位数据出错
例
有一个(7,4)码,已确定生成多项式为: G ( X ) = X 3 + X + 1 = 1011 G(X)=X^3+X+1= 1011 G(X)=X3+X+1=1011。被传输的信息 C ( x ) = 1001 C(x)=1001 C(x)=1001,求 C ( x ) C(x) C(x) 的CRC码
解
C ( x ) ⋅ 2 r = 1001 × 2 3 = 1001000 C(x)\cdot2^r=1001\times 2^3=1001000 C(x)⋅2r=1001×23=1001000
因此 R ( x ) = 110 R(x)=110 R(x)=110,CRC码为 1001110 1001110 1001110
列出CRC码的查错表
如果循环码有一位出错,用 G ( x ) G(x) G(x) 作模2除将得到一个不为0的余数。如果对余数补1个0继续除下去,将发现一个现象: 各次余数将按上述表顺序循环
原码
例
X = 0.1011 → [ X ] 原 = 0 1011 X=0.1011\rightarrow[X]_{原}=0\ 1011 X=0.1011→[X]原=0 1011 X = − 0.1011 → [ X ] 原 = 1 1011 X=-0.1011\rightarrow[X]_{原}=1\ 1011 X=−0.1011→[X]原=1 1011 X = 0.0000 → [ X ] 原 = 0 0000 或 1 0000 X=0.0000\rightarrow[X]_{原}=0\ 0000\ 或\ 1\ 0000 X=0.0000→[X]原=0 0000 或 1 0000
反码
补码
例
X = 0.1011 → [ X ] 补 = 0 1011 X=0.1011\rightarrow[X]_{补}=0\ 1011 X=0.1011→[X]补=0 1011 X = − 0.1011 → [ X ] 补 = 10 0000 − 0 1011 = 1 0101 X=-0.1011\rightarrow[X]_{补}=10\ 0000-0\ 1011=1\ 0101 X=−0.1011→[X]补=10 0000−0 1011=1 0101 X = 0.0000 → [ X ] 补 = 0 0000 X=0.0000\rightarrow[X]_{补}=0\ 0000\ X=0.0000→[X]补=0 0000
得到一个数补码表示的简便办法
[ X ] 原 [X]_原 [X]原与 [ X ] 补 [X]_补 [X]补的相互转换简便方法
已知 [ y ] 补 [y]_补 [y]补,求 [ − y ] 补 [-y]_补 [−y]补:
将 [ y ] 补 [y]_补 [y]补 连同符号位在内,每位取反,末位加1,得到 [ − y ] 补 [-y]_补 [−y]补
(即 [ − y ] 补 = 2 − 2 − ( n − 1 ) − [ y ] 补 + 2 − ( n − 1 ) = 2 − [ y ] 补 [-y]_补=2-2^{-(n-1)}-[y]_补+2^{-(n-1)}=2-[y]_补 [−y]补=2−2−(n−1)−[y]补+2−(n−1)=2−[y]补。可以分 y ≥ 0 y\geq0 y≥0 和 y < 0 y<0 y<0 进行证明)
整数形式:小数点隐含在数的最右边
1 1 1 位符号位, n − 1 n-1 n−1 位数值位
X X X 为真值
设 X X X 为真值,若机器字长为 n n n 位,则:
[ X ] 移 = 2 n − 1 + X − 2 n − 1 ≤ X ≤ 2 n − 1 − 1 [X]_移=2^{n-1}+X\ \ \ \ \ \ \ \ \ -2^{n-1}\leq X\leq2^{n-1}-1 [X]移=2n−1+X −2n−1≤X≤2n−1−1
[ X ] 移 = 2 n − 1 + X = 2 n + 2 n − 1 + X = 2 n − 1 + [ X ] 补 [X]_移=2^{n-1}+X=2^n+2^{n-1}+X=2^{n-1}+[X]_补 [X]移=2n−1+X=2n+2n−1+X=2n−1+[X]补
因此,同一个整数的移码与补码仅符号位相反
算术移位:移位的对象是数值型数据,在移位后会发生数值大小的变化
逻辑移位:逻辑左移、逻辑右移、循环左移和循环右移等。逻辑移位只是使数码位置发生变化,没有正、负性质,也没有数值大小问题
算术移位和逻辑移位的区别:
算术移位:带符号数移位
逻辑移位:无符号数移位
n n n 位字长
加法:
减法
补码运算的特点:
例.
X = 0.1011 , [ X ] 补 = 001011 X = 0.1011, [X]_补 = 00 1011 X=0.1011,[X]补=001011
Y = − 0.0101 , [ Y ] 补 = 111011 , [ − Y ] 补 = 000101 Y = -0.0101, [Y]_补 = 11 1011, [-Y]_补 = 00 0101 Y=−0.0101,[Y]补=111011,[−Y]补=000101
两个原码数相乘,其乘积的符号为相乘两数的异或值,数值为两数绝对值之积
[ X ⋅ Y ] 原 = [ X ] 原 [ Y ] 原 = ( X 0 ⊕ Y 0 ) ∣ ( ∣ X ∣ ⋅ ∣ Y ∣ ) [X\cdot Y]_原=[X]_原[Y]_原=(X_0⊕Y_0)|(|X|\cdot|Y|) [X⋅Y]原=[X]原[Y]原=(X0⊕Y0)∣(∣X∣⋅∣Y∣)
例.
X = 0.1101 X = 0.1101 X=0.1101 , Y = 0.1011 Y = 0.1011 Y=0.1011,求 X ⋅ Y X·Y X⋅Y
如果直接使用手工运算的计算方法的话,硬件电路会变得比较复杂(要实现四个数的相加)
解决方法:
硬件:设置3个寄存器(具有逻辑右移功能):
设置初值:
A = 00.0000 , B = ∣ X ∣ = 00.1101 , C = ∣ Y ∣ = . 1011 A=00.0000,B=|X|=00.1101,C=|Y|=.1011 A=00.0000,B=∣X∣=00.1101,C=∣Y∣=.1011
如上图所示,部分积 A A A 初始为 0,用乘数 C C C 的最低位乘上乘数 B B B 并加上原有部分积后得到新的部分积 1101 1101 1101,接着 A A A 和 C C C 同时右移1位, A A A 的最低位保存到了乘数 C C C 的最高位中, C C C 的最低位已经没有用了,可以直接丢弃。
接着继续重复刚才的步骤,用乘数 C C C 的最低位乘上乘数 B B B 并加上原有部分积后得到新的部分积 10011 10011 10011,…
当重复上述步骤 C d = 4 C_d=4 Cd=4 次(乘数 C C C 的位数)之后,乘法结束
补码一位乘法:乘法直接用补码进行,以减少转换次数
以定点小数为例:
[ X ] 补 = X 0 . X 1 X 2 . . . X n [ Y ] 补 = Y 0 . Y 1 Y 2 . . . Y n [X]_补=X_0.X_1X_2...X_n\\ [Y]_补=Y_0.Y_1Y_2...Y_n [X]补=X0.X1X2...Xn[Y]补=Y0.Y1Y2...Yn( 公式中的 . . . 表示小数点的位置)
***下面进行推导:
∵ [ X ] 补 = 2 X 0 + X ∴ X = [ X ] 补 − 2 X 0 = X 0 X 1 . . . X n − 2 X 0 = X 0 + X 1 . . . X n − 2 X 0 = − X 0 + 0. X 1 . . . X n \begin{aligned}\because [X]_补&=2X_0+X\\ \therefore X&=[X]_补-2X_0 \\&= X_0X_1...X_n-2X_0\\&=X_0+X_1...X_n-2X_0\\&=-X_0+0.X_1...X_n \end{aligned} ∵[X]补∴X=2X0+X=[X]补−2X0=X0X1...Xn−2X0=X0+X1...Xn−2X0=−X0+0.X1...Xn
上面推导出的公式可以将符号位与数值位分开
接着上面的结论推导:
[ X ⋅ Y ] 补 = [ X ⋅ ( − Y 0 + 0. Y 1 . . . Y n ) ] 补 = [ − X ⋅ Y 0 ] 补 + [ X ⋅ 0. Y 1 . . . Y n ] 补 = [ − X ] 补 ⋅ Y 0 + [ X ] 补 ⋅ ( 0. Y 1 . . . Y n ) ( 0. Y 1 . . . Y n 可 以 看 作 Y 1 ⋅ 2 − 1 + . . . + Y n ⋅ 2 − n ) = [ X ] 补 ⋅ ( 0. Y 1 . . . Y n ) − [ X ] 补 ⋅ Y 0 = [ X ] 补 ( − Y 0 + 2 − 1 Y 1 + . . . + 2 − n Y n ) = [ X ] 补 ( − Y 0 + ( Y 1 − 2 − 1 Y 1 ) + . . . + ( 2 − ( n − 1 ) Y n − 2 − n Y n ) ) = [ X ] 补 ( ( Y 1 − Y 0 ) + 2 − 1 ( Y 2 − Y 1 ) + . . . + 2 − n ( Y n + 1 − Y n ) ) ( Y n + 1 = 0 , Y 0 为 符 号 位 ) \begin{aligned}[X\cdot Y]_补&=[X\cdot (-Y_0+0.Y_1...Y_n)]_补 \\&=[-X\cdot Y_0]_补+[X\cdot0.Y_1...Y_n]_补 \\&= [-X]_补\cdot Y_0+[X]_补\cdot(0.Y_1...Y_n)\\&(0.Y_1...Y_n可以看作Y_1\cdot2^{-1}+...+Y_n\cdot2^{-n}) \\&=[X]_补\cdot(0.Y_1...Y_n)- [X]_补\cdot Y_0\\&= [X]_补(-Y_0+2^{-1}Y_1+...+2^{-n}Y_n)\\&= [X]_补(-Y_0+(Y_1-2^{-1}Y_1)+...+(2^{-(n-1)}Y_n-2^{-n}Y_n)) \\&=[X]_补((Y_1-Y_0)+2^{-1}(Y_2-Y_1)+...+2^{-n}(Y_{n+1}-Y_n)) \\&(Y_{n+1}=0,Y_0 为符号位)\end{aligned} [X⋅Y]补=[X⋅(−Y0+0.Y1...Yn)]补=[−X⋅Y0]补+[X⋅0.Y1...Yn]补=[−X]补⋅Y0+[X]补⋅(0.Y1...Yn)(0.Y1...Yn可以看作Y1⋅2−1+...+Yn⋅2−n)=[X]补⋅(0.Y1...Yn)−[X]补⋅Y0=[X]补(−Y0+2−1Y1+...+2−nYn)=[X]补(−Y0+(Y1−2−1Y1)+...+(2−(n−1)Yn−2−nYn))=[X]补((Y1−Y0)+2−1(Y2−Y1)+...+2−n(Yn+1−Yn))(Yn+1=0,Y0为符号位)
布斯(Booth)算法:过程类似于原码1位乘法。用部分积和移位进行计算。用相邻两位乘数比较的结果决定给部分积加 [ X ] 补 、 [ − X ] 补 [X]_补、 [-X]_补 [X]补、[−X]补 或 0 0 0
1/2 表示右移1位
例
X = − 0.1101 , Y = 0.1011 X= -0.1101,Y=0.1011 X=−0.1101,Y=0.1011,求 [ X ⋅ Y ] 补 [X·Y]_补 [X⋅Y]补
解
初值: A = 00.0000 , B = [ X ] 补 = 11.0011 , − B = [ − X ] 补 = 00.1101 , C = [ Y ] 补 = 0.10110 A=00.0000,B=[X]_补=11.0011,-B=[-X]_补=00.1101,C =[Y]_补=0.10110 A=00.0000,B=[X]补=11.0011,−B=[−X]补=00.1101,C=[Y]补=0.10110
注意:上面的移位为算术移位
例
设某机器用32位表示一个实数,阶码部分8位(含1位阶符),用定点整数补码表示;尾数部分24位(含数符1位),用规格化定点小数补码表示,基数为2。给出 X = 256.5 X=256.5 X=256.5 和 Y = − 256.5 Y=-256.5 Y=−256.5 的浮点表示形式
解
为了保证数据精度,尾数通常用规格化形式表示:
增加尾数位数也可以提高精度,但数值范围减小 (阶码位数减少了)
尾数为原码表示时,无论正负应满足
尾数用补码表示时,无论正负应满足
注意:
S = − 1 2 = − 0.100 , [ S ] 原 = 1.100 , [ S ] 补 = 1.100 S=-\frac{1}{2}=-0.100,[S]_原=1.100,[S]_补=1.100 S=−21=−0.100,[S]原=1.100,[S]补=1.100,因此 [ − 1 2 ] 补 [-\frac{1}{2}]_补 [−21]补 不是规格化数
S = − 1 , [ S ] 补 = 1.00...0 S=-1,[S]_补=1.00...0 S=−1,[S]补=1.00...0, 因此 [ − 1 ] 补 [-1]_补 [−1]补 是规格化数
根据规格化后的阶码判断:
假如不考虑规格化:
若考虑规格化,则
阶码使用的移码偏移量为什么不用 128 ?
因为若用128,则最大阶127对应的编码127+128=255,而255(全1)要用来表示一些特殊值
IEEE754 标准中的规范化浮点数:
单精度浮点数最大表示范围:
± ( 1.1111...1 ) × 2 127 = ± ( 2 − 2 − 23 ) × 2 127 ≈ ± 3.40282 × 1 0 38 \pm(1.1111...1)\times 2^{127}=\pm(2-2^{-23})\times 2^{127}\approx\pm3.40282\times10^{38} ±(1.1111...1)×2127=±(2−2−23)×2127≈±3.40282×1038
单精度浮点数可以表示接近于 0 的最小的绝对值:
± ( 1.000...00 ) × 2 − 126 = ± 1 × 2 − 126 ≈ ± 1.175 × 1 0 − 38 \pm(1.000...00)\times 2^{-126}=\pm1\times 2^{-126}\approx\pm1.175\times10^{-38} ±(1.000...00)×2−126=±1×2−126≈±1.175×10−38
例
将十进制数 178.125 178.125 178.125 表示成微机中的单精度浮点数
解:
两数首先均为规格化数,进行规格化浮点数的加减运算需经过5步完成:
对阶操作:低阶向高阶补齐,使阶码相等
阶码较小的数将阶码增大,尾数减小 (阶码每增大1,尾数就进行1位右移。尾数为原码时,尾数右移时,符号位不动,最高数值位补0;尾数为补码时,尾数右移时,符号也移位,最高位补符号位。)
尾数运算:阶码对齐后直接对尾数运算
结果规格化:对运算结果进行规格化处理。如尾数溢出则需右规(尾数向右移位直到它为规格化的数);如不是,规格化时应左规
舍入操作:在对阶和右规过程中,可能出现尾数末位丢失引起误差,需考虑舍入。丢失位进行0舍1入或恒置1处理。常用“0”舍“1”入法:当移掉的部分最高位为1时,在尾数的末尾加1,如果加1后又使得尾数溢出,则要再进行一次右规
判断溢出:判断阶码是否溢出,下溢则将运算结果置0(机器0),上溢则设置溢出标志
例
x = 0.1101 × 2 01 , y = ( – 0.1010 ) × 2 11 x = 0.1101×2^{01},y = (–0.1010)×2^{11} x=0.1101×201,y=(–0.1010)×211,求 x + y x+y x+y
解
先将两数的阶码和尾数都用双符号位的补码表示(阶码和尾数之间用分号隔开)
[ x ] 补 = 00 , 01 ; 00.1101 , [ y ] 补 = 00 , 11 ; 11.0110 [x]_补=00,01;00.1101,[y]_补=00,11;11.0110 [x]补=00,01;00.1101,[y]补=00,11;11.0110
例
x = 0.1101 × 2 10 , y = ( 0.1011 ) × 2 01 x = 0.1101×2^{10},y = (0.1011)×2^{01} x=0.1101×210,y=(0.1011)×201,求 x + y x+y x+y
解
[ x ] 补 = 00 , 010 ; 00.110100 , [ y ] 补 = 00 , 001 ; 00.101100 [x]_补=00,010;00.110100,[y]_补=00,001;00.101100 [x]补=00,010;00.110100,[y]补=00,001;00.101100
例
x = ( − 5 8 ) × 2 − 5 , y = ( 7 8 ) × 2 − 4 x = (-\frac{5}{8})×2^{-5},y = (\frac{7}{8})×2^{-4} x=(−85)×2−5,y=(87)×2−4,求 x − y x-y x−y (除阶符、数符外,阶码取3位,尾数取6位)
解
x = ( − 0.101000 ) × 2 − 101 , y = ( 0.111000 ) × 2 − 100 [ x ] 补 = 11 , 011 ; 11.011000 , [ y ] 补 = 11 , 100 ; 00.111000 x=(-0.101000)\times2^{-101},y=(0.111000)\times2^{-100}\\ [x]_补=11,011;11.011000,[y]_补=11,100;00.111000 x=(−0.101000)×2−101,y=(0.111000)×2−100[x]补=11,011;11.011000,[y]补=11,100;00.111000
数电内容,就不具体写了
全 加 和 S i = A i ⊕ B i ⊕ C i − 1 全 加 进 位 C i = A i B i + B i C i − 1 + A i C i − 1 = A i B i + ( A i ⊕ B i ) C i − 1 = A i B i + ( A i + B i ) C i − 1 \begin{aligned} 全加和\ S_i&=A_i⊕B_i⊕C_{i−1}\\ 全加进位\ C_i&=A_iB_i+B_iC_{i-1}+A_iC_{i-1}\\&=A_iB_i+(A_i⊕B_i)C_{i-1}\\&= A_iB_i+(A_i+B_i)C_{i-1} \end{aligned} 全加和 Si全加进位 Ci=Ai⊕Bi⊕Ci−1=AiBi+BiCi−1+AiCi−1=AiBi+(Ai⊕Bi)Ci−1=AiBi+(Ai+Bi)Ci−1
特点:串行进位(又称行波进位)加法器,逻辑电路较简单,但最高位的加法运算,一定要等到所有低位的加法完成之后才能进行,低位的进位要逐步传递到高位,逐级产生进位,因此运算速度较慢
引进两个函数
则 C i = G i + P i C i − 1 C_i = G_i + P_i C_{i-1} Ci=Gi+PiCi−1
因此, n n n 位加法器的进位并行产生
单级先行进位:将 n n n 位字长分为若干组,每组内采用并行进位方式,组与组之间则采用串行进位方式
Arithmetic logical unit
利用集成电路技术可将若干位全加器、并行进位链、输入选择电路等部分集成在一块芯片上,称为多功能算术、逻辑运算部件 ALU
ALU 的核心是加法器。加法器大多采用“先行进位”方式
利用16位并行进位链集成电路SN74182,产生芯片连接时所需要的并行进位信号,构成片内、片间均并行进位的ALU
文章浏览阅读606次。为什么80%的码农都做不了架构师?>>> ..._google trace batch job
文章浏览阅读2.6k次,点赞3次,收藏3次。'''题目描述1、对输入的字符串进行加解密,并输出。2加密方法为:当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0;其他字符不做变化。s'''#-*-coding:utf-8-*-importre#判断是否是字母defisLetter(letter):iflen..._编写函数fun2实现字符串加密,加密规则为:如果是字母,将其进行大小写转换;如果
文章浏览阅读4.4k次,点赞6次,收藏8次。下面列出了所有集合的类图:每个接口做的事情非常明确,比如 Serializable,只负责序列化,Cloneable 只负责拷贝,Map 只负责定义 Map 的接口,整个图看起来虽然接口众多,但职责都很清晰;复杂功能通过接口的继承来实现,比如 ArrayList 通过实现了 Serializable、Cloneable、RandomAccess、AbstractList、List 等接口,从而拥有了序列化、拷贝、对数组各种操作定义等各种功能;上述类图只能看见继承的关系,组合的关系还看不出来,比如说_迭代器是否可以保证容器删除和修改安全操作
在科技金融、绿色金融、普惠金融、养老金融、数字金融这“五篇大文章”中,养老金融以其独特的社会价值和深远影响,占据着不可或缺的地位。通过政策引导与市场机制的双重驱动,激发金融机构创新养老服务产品,如推出更多针对不同年龄层、风险偏好的个性化养老金融产品,不仅能提高金融服务的可获得性,还能增强民众对养老规划的主动参与度,从而逐步建立起适应中国国情、满足人民期待的养老金融服务体系。在人口老龄化的全球趋势下,中国养老金融的发展不仅仅是经济议题,更关乎社会的稳定与进步。养老金融:民生之需,国计之重。
在需要使用图片的地方使用下面的代码,注意xib可以直接设置图片。将相应的图片资源文件放到bundle文件中。
文章浏览阅读3.6k次,点赞4次,收藏66次。目录九、多元统计分析介绍九、多元统计分析介绍_r语言多元统计分析
文章浏览阅读623次。MATLAB课程设计-基于PSK和DPSK的matlab仿真 (41页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!9.90 积分武汉理工大学MATLAB课程设计.目录摘要 1Abstract 21.设计目的与要求 32.方案的选择 42.1调制部分 42.2解调部分 43.单元电路原理和设计 63.1PCM编码原理及设计 63.1.1PCM编码原理 ..._通信原理课程设计(基于matlab的psk,dpsk仿真)(五篇模版)
文章浏览阅读3.5k次,点赞6次,收藏28次。腾讯微搭小程序获取微信用户信息无论你对低代码开发的爱与恨, 微信生态的强大毋庸置疑. 因此熟悉微搭技术还是很有必要的! 在大多数应用中, 都需要获取和跟踪用户信息. 本文就微搭中如何获取和存储用户信息进行详细演示, 因为用户信息的获取和存储是应用的基础.一. 微搭每个微搭平台都宣称使用微搭平台可以简单拖拽即可生成一个应用, 这种说法我认为是"夸大其词". 其实微搭优点大致来说, 前端定义了很多组件, 为开发人员封装组件节省了大量的时间,这是其一; 其二对后端开发来说, 省去了服务器的部署(并没有省去后_微搭 用微信号登录
sql中索引的使用分析
文章浏览阅读8.9k次,点赞16次,收藏108次。因为呢,termux作者,不希望让termux变成脚本小子的黑客工具,于是把msf , sqlmap等包删了。至于如何安装metasploit呢。apt update -y && apt upgrade -y #更新升级更新升级之后要安装一个叫 git 的安装包apt install git -y然后我们就开始//这里的话建议把手机放到路由器旁边,保持网络的优良。或者科学上网。//git clone https://github.com/gushmazuko/metaspl_termux安装metasploit
文章浏览阅读141次。一、Docker支持4种网络模式Bridge(默认)--network默认网络,Docker启动后创建一个docker0网桥,默认创建的容器也是添加到这个网桥中;IP地址段是172.17.0.1/16 独立名称空间 docker0桥,虚拟网桥的工作方式和物理交换机类似,这样主机上的所有容器就通过交换机连在了一个二层网络中。host容器不会获得一个独立的network namespace,而是与宿主..._armbian 172.17.0.1
Ansible-Tower安装破解。