【计算机专业漫谈】【计算机系统基础学习笔记】W2-1十进制数与二进制数,各进制数直接的转换

news2024/11/24 23:00:06

利用空档期时间学习一下计算机系统基础,以前对这些知识只停留在应试层面,今天终于能详细理解一下了。参考课程为南京大学袁春风老师的计算机系统基础MOOC,参考书籍也是袁老师的教材,这是我的听课+自查资料整理后的笔记

W2-1十进制数与二进制数,各进制数直接的转换

“转换”的概念在数据表示中的反映

1
右侧是上一章节介绍的计算机系统的层次结构,表示要计算机解决的应用问题可以用算法来实现,算法由高级语言编写程序来实现,程序需要转换成一条条指令才能在微体系结构上运行。
对应的应用问题处理的对象是一些感觉媒体(比如:游戏的动画和声音,播放的视频,处理的图形、图像和文本),为了能够让计算机能够处理这些感觉媒体,最终要将其变成二进制0/1序列,在处理之前,要用算法和数据结构描述这些感觉媒体,在数据结构当中是数值和编码,在程序中,可以用int, float等来声明其为什么类型。
在指令层面,我们看到的数据是一串0/1序列,这样的指令在计算机中执行时,要么在ALU中进行运算,要么在总线上进行传输,它们是通过逻辑门电路实现,最终得到一位一位的信息。
因此,计算机在处理数据时,从上往下是具体的实现过程,从下往上是抽象概括的过程。
上述过程还可归纳为下图:
2
整数在机器中是用定点数表示,实数用浮点数表示

信息的二进制编码

为什么要用二进制编码

计算机内部处理的所有数据必须是“数字化编码”了的数据。在计算机系统内部,所有信息都是用二进制进行编码的,也就是说计算机内部采用的是二进制表示方式。其原因简述如下:

  • 二进制只有两个基本状态,使用两个稳定状态的物理器件就可以表示二进制数的每一位,比如高电位代表1,低电位代表0,或者用脉冲的有无和脉冲的正负形都可以很可靠地表示“0”和“1”.
  • 二进制的编码、计算和运算规则都很简单,可用开关电路实现,简便易行。
  • 两个符号“1”和“0”正好与逻辑命题的两个值“真”和“假”相对应,为计算机中实现逻辑运算和程序中的逻辑判断提供了便利的调剂。

机器级数据分为两大类

指令所处理的数据类型分为数值数据非数值数据两种。

  • 数值数据:数值数据可用来表示数量的多少,可比较其大小,分为整数实数,整数又分为无符号整数和带符号整数。在计算机内部,整数用定点数表示,实数用浮点数表示
  • 非数值数据:非数值数据就是一个没有大小之分的位串,不表示数量的多少,主要用来表示字符数据(西文字符和汉字)和逻辑数据(逻辑数(包括位串))。

真值和机器数

  • 机器数:用0和1编码的计算机内部的0/1序列
  • 真值:真正的值,即:现实中带正负号的数

【例】unsigned short(无符号短整型)变量x的真值是127,其机器数是多少?
【答】 127 = 2 7 − 1 127=2^{7}-1 127=271,其机器数为为0000 0000 0111 1111

数值数据的表示

1、数值数据表示的三要素:

  • 进位计数制
  • 定、浮点表示
  • 如何用二进制编码

即:要确定一个数值数据的值必须先确定这三个要素。

2、进位计数制

  • 十进制、二进制、十六进制、八进制数及其相互转换

3、定/浮点表示(解决小数点问题)

  • 定点整数、定点小数
  • 浮点数(可用一个定点小数和一个定点整数来表示)

4、定点数的编码(解决正负号问题)

  • 原码、补码、反码、移码

进位计数制

十进制(Decimal)计数制

十进制数,每个数位可用十个不同符号0,1,2,…,9来表示,每个符号处在十进制数中不同位置时,所代表的数值不一样。
【例】2585.62代表的值是:
2585.62 = 2 × 1 0 3 + 5 × 1 0 2 + 8 × 1 0 1 + 5 × 1 0 0 + 6 × 1 0 − 1 + 2 × 1 0 − 2 2585.62=2\times10^{3}+5\times10^{2}+8\times10^{1}+5\times10^{0}+6\times10^{-1}+2\times10^{-2} 2585.62=2×103+5×102+8×101+5×100+6×101+2×102
一般地,任意一个十进制数 D = d n d n − 1 . . . d 1 d 0 . d − 1 d − 2 . . . d − m , ( m , n 为正整数 ) D=d_{n}d_{n-1}...d_{1}d_{0}.d_{-1}d_{-2}...d_{-m},(m,n为正整数) D=dndn1...d1d0.d1d2...dm,(m,n为正整数)
其值可表示为如下形式:
V ( D ) = d n × 1 0 n + d n − 1 × 1 0 n − 1 + . . . + d 1 × 1 0 1 + d 0 × 1 0 0 + d − 1 × 1 0 − 1 + d − 2 × 1 0 − 2 + . . . + d − m × 1 0 − m ,其中, d i ( i = n , n − 1 , . . . , 1 , 0 , − 1 , − 2 , . . . , − m ) 可以是 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 这 19 个数字符号中的任何一个 V(D)=d_{n}\times10^{n}+d_{n-1}\times10^{n-1}+...+d_{1}\times10^{1}+d_{0}\times10^{0}+d_{-1}\times10^{-1}+d_{-2}\times10^{-2}+...+d_{-m}\times10^{-m},其中,d_{i}(i=n,n-1,...,1,0,-1,-2,...,-m)可以是0,1,2,3,4,5,6,7,8,9这19个数字符号中的任何一个 V(D)=dn×10n+dn1×10n1+...+d1×101+d0×100+d1×101+d2×102+...+dm×10m,其中,di(i=n,n1,...,1,0,1,2,...,m)可以是0,1,2,3,4,5,6,7,8,919个数字符号中的任何一个

其中,“10”称为基数(base),它代表每个数位上可以使用的不同数字符号个数。 1 0 i 10^{i} 10i称为第 i i i位上的权。运算时,“逢十进一”。

二进制(Binary)计数制

二进制数,每个数位可用两个不同符号0和1来表示,每个符号处在不同位置时,所代表的数值不一样。
【例】100101.01代表的值是:
( 100101.01 ) 2 = 1 × 2 5 + 0 × 2 0 + 0 × 2 3 + 1 × 2 2 + 0 × 2 1 + 1 × 2 0 + 0 × 2 − 1 + 1 × 2 − 2 = 37.25 (100101.01)_{2}=1\times2^{5}+0\times2^{0}+0\times2^{3}+1\times2^{2}+0\times2^{1}+1\times2^{0}+0\times2^{-1}+1\times2^{-2}=37.25 (100101.01)2=1×25+0×20+0×23+1×22+0×21+1×20+0×21+1×22=37.25
【注】R进制数应该用括号把数字括起来,并在右下角标注角标R,即 ( X X X ) R (XXX)_{R} (XXX)R(十进制标不标注均可),或者采用后缀形式,比如二进制数就加后缀B代表二进制数,如01011010B.
一般地,任意一个二进制数
B = b n b n − 1 . . . b 1 b 0 . b − 1 b − 2 . . . b − m , ( m , n 为正整数 ) B=b_{n}b_{n-1}...b_{1}b_{0}.b_{-1}b_{-2}...b_{-m},(m,n为正整数) B=bnbn1...b1b0.b1b2...bm(m,n为正整数)
其值可表示为如下形式:
V ( B ) = b n × 2 n + b n − 1 × 2 n − 1 + . . . + b 1 × 2 1 + b 0 × 2 0 + b − 1 × 2 − 1 + b − 2 × 2 − 2 + . . . + b − m × 2 − m , 其中 , b i ( i = n , n − 1 , . . . , 1 , 0 , − 1 , − 2 , . . . − m ) 可以是 0 或 1 V(B)=b_{n}\times2^{n}+b_{n-1}\times2^{n-1}+...+b_{1}\times2^{1}+b_{0}\times2^{0}+b_{-1}\times2^{-1}+b_{-2}\times2^{-2}+...+b_{-m}\times2^{-m},其中,b_{i}(i=n, n-1, ..., 1, 0, -1, -2, ... -m)可以是0或1 V(B)=bn×2n+bn1×2n1+...+b1×21+b0×20+b1×21+b2×22+...+bm×2m,其中,bi(i=n,n1,...,1,0,1,2,...m)可以是01
“2”称为基数(base),它代表每个数位上可以使用的不同数字符号个数。 2 i 2^{i} 2i称为第 i i i位上的权,运算时,“逢二进一”。
【注】二进制数,横着写,左侧为高位,右侧为低位,比如1000 0001,其中最左侧的1是高位,左右侧的1是低位,这是一个相对的位置概念。二进制数从右往左(小数点之前)分别是第0位……第n位,其他数制的高低位也是如此。

R进位计数制

R进制数字系统中,应采用R个基本符号(0,1, 2,…,R-1)表示各位上的数字,采用“逢R进一”的运算规则,对于每一个数位i,该位上的权为 R i R^{i} Ri。R被称为该数字系统的基。

  • 二进制:R=2,基本符号位0和1
  • 八进制:R=8,基本符号为0,1,2,3,4,5,6,7( 2 3 = 8 2^{3}=8 23=8,对应3位二进制)
  • 十六进制:R=16,基本符号0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F( 2 4 = 16 2^{4}=16 24=16,对应4位二进制)
  • 十进制:R=10,,基本符号为0,1,2,3,4,5,6,7,8,9

下表列出了二进制、八进制、十进制和十六进制这4种进位计数制中各基本数之间的对应关系:

二进制数八进制数十进制数十六进制数
0000000
0001111
0010222
0011333
0100444
0101555
0110666
0111777
10001088
10011199
10101210A
10111311B
11001412C
11011513D
11101614E
11111715F

八进制和十六进制

日常生活中用十进制表示数值,计算机中用二进制表示所有信息,那为什么还要引入 八进制 / 十六进制呢?八进制 / 十六进制是二进制的简便表示。便于阅读和书写。它们之间对应简单,转换容易。在机器内部用二进制表示,在屏幕或其他设备上表示时,转换为八进制/十六进制数,可缩短长度

  • 八进制:Octal (用后缀“O”表示)
  • 十六进制:Hexadecimal (用后缀“H”,或前缀“0x”表示)

【例】1010 1100 0100 0101 0001 0000 1000 1101B可写成十六进制0xAC45108D 或 AC45108DH
或写成八进制数(每3位一换,从后向前换,最后补0),先把二进制切分成每3位分割一换,从后向前换:
(加粗打斜的是补的0)
010 101 100 010 001 010 001 000 010 001 101B
所以转换成八进制为:25421210215O

十进制数与R进制数之间的转换

R进制数转十进制数

按“权”展开:

  • 【例1】 ( 10101.01 ) 2 = 1 × 2 4 + 1 × 2 2 + 1 × 2 0 + 1 × 2 − 2 = ( 21.25 ) 10 (10101.01)_{2}=1\times2^{4}+1\times2^{2}+1\times2^{0}+1\times2^{-2}=(21.25)_{10} (10101.01)2=1×24+1×22+1×20+1×22=(21.25)10
  • 【例2】 ( 307.6 ) 8 = 3 × 8 2 + 7 × 8 0 + 6 × 8 − 1 = ( 199.75 ) 10 (307.6)_{8}=3\times8^{2}+7\times8^{0}+6\times8^{-1}=(199.75)_{10} (307.6)8=3×82+7×80+6×81=(199.75)10
  • 【例3】 ( 3 A . 1 ) 8 = 3 × 1 6 1 + 10 × 1 6 0 + 1 × 1 6 − 1 = ( 58.0625 ) 10 (3A.1)_{8}=3\times16^{1}+10\times16^{0}+1\times16^{-1}=(58.0625)_{10} (3A.1)8=3×161+10×160+1×161=(58.0625)10

十进制数转二进制数

先将十进制转二进制,如果需要,再将二进制转换为16或8进制,整数部分和小数部分分别转换:
① 整数----“除基取余,上右下左”
【注】整数部分的转换方法是“除基取余,上右下左”。也就是说,用要转换的十进制整数去除以基数R,将得到的余数作为结果数据中各位的数字,直到上商为0为止。上面的余数(先得到的余数)作为右边低位上的数位,下面的余数作为左边高位上的数位。
② 小数----“乘基取整,上左下右”
【注】小数部分的转换方法是“乘基取整,上左下右”。也就是说,用要转换的十进制小数去乘以基数R,将得到的乘积的整数部分作为结果数据中各位的数字,小数部分继续与基数R相乘。以此类推,直到某一步乘积的小数部分为0或已得到希望的位数为止。最后,将上面的整数部分作为左边高位上的数位,下面的整数部分作为右边低位上的数位。
在转换过程中,可能乘积的小数部分总得不到0,即转换得到希望的位数后还有余数,这种情况下得到的是近似值。

实际上,记住1、2、4、8、16、32、64、128、256、512、1024、2048、4096、8192…(分别对应2的0次方,1次方,2次方……), 就可以简单进行整数部分的转换

【例1】 ( 835.6875 ) 10 = ( 1101000011.1011 ) 2 (835.6875)_{10}=(11 0100 0011.1011)_{2} (835.6875)10=(1101000011.1011)2
【解】(1)整数----“除基取余,上右下左”
1
(2)小数----“乘基取整,上左下右”
2
故结果为结果为 11 0100 0011.1011B
【简便方法】整数部分:835=512+256+64+2+1,整数部分结果为11 0100 0011B,小数部分:0.6875=0.5+0.125+0.0625,小数部分结果为 0.1011B,故结果为11 0100 0011.1011B
【提示】835先用和它最近的2的多少次方的数去减,比如 2 9 = 512 < 835 < 2 10 = 1024 , 所以 835 − 512 = 323 2^{9}=512<835<2^{10}=1024,所以835-512=323 29=512<835<210=1024,所以835512=323,所以第一个含1的二进制高位是第9位(从0开始,有第0位)
然后 2 8 = 256 < 323 < 2 9 = 512 , 323 − 256 = 67 2^{8}=256<323<2^{9}=512,323-256=67 28=256<323<29=512,323256=67,所以第二个含1的二进制位是第8位
2 6 = 64 < 67 < 2 7 = 128 , 67 − 64 = 3 2^{6}=64<67<2^{7}=128,67-64=3 26=64<67<27=128,6764=3,所以第三个含1的二进制位是第6位
2 1 = 2 < 3 < 2 2 = 4 , 3 − 2 = 1 2^{1}=2<3<2^{2}=4,3-2=1 21=2<3<22=4,32=1,所以第四个含1的二进制位是第1位
2 0 = 1 2^{0}=1 20=1,所以第五个含1的二进制位是第0位
故整数部分为11 0100 0011B,然后看小数部分
2 − 1 = 0.5 < 0.6875 , 0.6875 − 0.5 = 0.1875 2^{-1}=0.5<0.6875,0.6875-0.5=0.1875 21=0.5<0.68750.68750.5=0.1875,所以第一个含1的二进制位是第-1位
2 − 3 = 0.125 < 0.1875 , 0.1875 − 0.125 = 0.0625 2^{-3}=0.125<0.1875,0.1875-0.125=0.0625 23=0.125<0.18750.18750.125=0.0625,所以第二个含1的二进制位是第-3位
2 − 4 = 0.0625 2^{-4}=0.0625 24=0.0625,所以第三个含1的二进制位是第-4位
故小数部分为0.1011B
所以结果为11 0100 0011.1011B

常见2的幂数(最好记住一部分)
2的幂数对应十进制数
2 − 10 2^{-10} 210 0.0009765625 {0.0009765625} 0.0009765625
2 − 9 2^{-9} 29 0.001953125 {0.001953125} 0.001953125
2 − 8 2^{-8} 28 0.00390625 {0.00390625} 0.00390625
2 − 7 2^{-7} 27 0.0078125 {0.0078125} 0.0078125
2 − 6 2^{-6} 26 0.015625 {0.015625} 0.015625
2 − 5 2^{-5} 25 0.03125 {0.03125} 0.03125
2 − 4 2^{-4} 24 0.0625 {0.0625} 0.0625
2 − 3 2^{-3} 23 0.125 {0.125} 0.125
2 − 2 2^{-2} 22 0.25 {0.25} 0.25
2 − 1 2^{-1} 21 0.5 {0.5} 0.5
2 0 2^{0} 20 1 {1} 1
2 1 2^{1} 21 2 {2} 2
2 2 2^{2} 22 4 {4} 4
2 3 2^{3} 23 8 {8} 8
2 4 2^{4} 24 16 {16} 16
2 5 2^{5} 25 32 {32} 32
2 6 2^{6} 26 64 {64} 64
2 7 2^{7} 27 128 {128} 128
2 8 2^{8} 28 256 {256} 256
2 9 2^{9} 29 512 {512} 512
2 10 2^{10} 210 1024 {1024} 1024
2 11 2^{11} 211 2048 {2048} 2048
2 12 2^{12} 212 4096 {4096} 4096
2 13 2^{13} 213 8192 {8192} 8192
2 14 2^{14} 214 16384 {16384} 16384
2 15 2^{15} 215 32768 {32768} 32768
2 16 2^{16} 216 65536 {65536} 65536
2 17 2^{17} 217 131072 {131072} 131072
2 18 2^{18} 218 262144 {262144} 262144
2 19 2^{19} 219 524288 {524288} 524288
2 20 2^{20} 220 1048576 {1048576} 1048576

【提问】小数点在计算机中如何表示?
【chatGPT回答】在计算机中,小数点采用固定点或浮点形式表示。固定点表示法是指小数点的位置是固定的,如在一个8位的二进制数中,小数点可能被固定在第四位,表示前三位为整数部分,后四位为小数部分。这种表示法的缺点是范围受限,难以表示较大或较小的浮点数。
因此,更为常见的是浮点表示法,它是将一个数分成三个部分,即符号、指数和尾数。符号位表示是正数还是负数,指数位表示小数点应该向左或向右移动多少位,而尾数则表示小数点后的值。
举个例子,如果我们要表示十进制数3.14159,二进制表示为11.001001000011111…,则在浮点表示法下,符号位为0,指数位为1(表示小数点要向右移1位),尾数位为1001000111111…。在实际应用中,浮点表示法可以表示更广泛的数值范围,但它也存在浮点误差问题。
总之,小数点在计算机中可以采用固定点或浮点形式表示。浮点表示法采用符号、指数和尾数三个部分来表示,可以更广泛地表示数值范围,但也存在浮点误差问题。

十进制数与八进制数之间的转换

【例】 ( 835.63 ) 10 = ( 1503.50243 … ) 8 (835.63)_{10}=(1503.50243…)_{8} (835.63)10=(1503.50243)8
【解】(1)整数----“除基取余,上右下左”
1
(2)小数----“乘基取整,上左下右”
2
可能小数部分总得不到0,此时得到一个近似值,现实中的精确值可能在机器内部无法用0和1精确表示。

八进制数转换为二进制数

八进制数转换成二进制数的方法很简单,只要把每一个八进制数字改写成等值的3位二进制数即可,且保持高低位的次序不变。八进制数字与二进制数的对应关系如下:
( 0 ) 8 = 000 (0)_{8}=000 (0)8=000
( 1 ) 8 = 001 (1)_{8}=001 (1)8=001
( 2 ) 8 = 010 (2)_{8}=010 (2)8=010
( 3 ) 8 = 011 (3)_{8}=011 (3)8=011
( 4 ) 8 = 100 (4)_{8}=100 (4)8=100
( 5 ) 8 = 101 (5)_{8}=101 (5)8=101
( 6 ) 8 = 110 (6)_{8}=110 (6)8=110
( 7 ) 8 = 111 (7)_{8}=111 (7)8=111
【例】将 ( 13.724 ) 8 (13.724)_{8} (13.724)8转换成二进制数
【解】 ( 13.724 ) 8 = ( 001   011.   111   010   100 ) 2 = ( 1011.10101 ) 2 (13.724)_{8}=(001\space011.\space111\space010\space100)_{2}=(1011. 10101)_{2} (13.724)8=(001 011. 111 010 100)2=(1011.10101)2

十六进制数转换为二进制数

十六进制数转换成二进制数的方法与八进制数转换成二进制数的方法类似,只要把每一个十六进制数字改写成等值的4位二进制数即可,且保持高低位的次序不变。十六进制数字与二进制数的对应关系如下:
( 0 ) 16 = 0000 (0)_{16}=0000 (0)16=0000
( 1 ) 16 = 0001 (1)_{16}=0001 (1)16=0001
( 2 ) 16 = 0010 (2)_{16}=0010 (2)16=0010
( 3 ) 16 = 0011 (3)_{16}=0011 (3)16=0011
( 4 ) 16 = 0100 (4)_{16}=0100 (4)16=0100
( 5 ) 16 = 0101 (5)_{16}=0101 (5)16=0101
( 6 ) 16 = 0110 (6)_{16}=0110 (6)16=0110
( 7 ) 16 = 0111 (7)_{16}=0111 (7)16=0111
( 8 ) 16 = 1000 (8)_{16}=1000 (8)16=1000
( 9 ) 16 = 1001 (9)_{16}=1001 (9)16=1001
( A ) 16 = 1010 (A)_{16}=1010 (A)16=1010
( B ) 16 = 1011 (B)_{16}=1011 (B)16=1011
( C ) 16 = 1100 (C)_{16}=1100 (C)16=1100
( D ) 16 = 1101 (D)_{16}=1101 (D)16=1101
( E ) 16 = 1110 (E)_{16}=1110 (E)16=1110
( F ) 16 = 1111 (F)_{16}=1111 (F)16=1111
【例】将 ( 2 B . 5 E ) 16 (2B.5E)_{16} (2B.5E)16转换成二进制数
【解】 ( 2 B . 5 E ) 16 = ( 0010   1011.   0101   1110 ) 2 = ( 101011.0101111 ) 2 (2B.5E)_{16}=(0010\space1011.\space0101\space1110)_{2}=(101011.0101111)_{2} (2B.5E)16=(0010 1011. 0101 1110)2=(101011.0101111)2

二进制数转换为八进制数

二进制数转换成八进制数时,整数部分从低位向高位方向每3位用一个等值的八进制数来替换,最后不足3位时在高位补0凑满3位;小数部分从高位向低位方向每3位用一个等值的八进制数来替换,最后不足3位时在低位补0凑满3位。例如:

  • ( 0.10101 ) 2 = ( 000.   101   010 ) 2 = ( 0.52 ) 8 (0.10101)_{2}= ( 000.\space101\space010)_{2}= (0.52)_{8} (0.10101)2=(000. 101 010)2=(0.52)8
  • ( 10011.01 ) 2 = ( 010   011.   010 ) 2 = ( 23.2 ) 8 (10011.01)_{2}= (010 \space011.\space010)_{2}= ( 23.2)_{8} (10011.01)2=(010 011. 010)2=(23.2)8

二进制数转换为十六进制数

二进制数转换成十六进制数时,整数部分从低位向高位方向每4位用一个等值的十六进制数来替换,最后不足4位时在高位补0凑满4位;小数部分从高位向低位方向每4位用一个等值的十六进制数来替换,最后不足4位时在低位补0凑满4位。例如:
( 11001.11 ) 2 = ( 0001   1001.   1100 ) 2 = ( 19. C ) 16 ( 11001.11)_{2}= (0001\space1001.\space1100 )_{2}= ( 19.C)_{16} (11001.11)2=(0001 1001. 1100)2=(19.C)16

定点数和浮点数

计算机中只能通过约定小数点的位置来表示数值数据中的小数点。
1、定点数:小数点位置约定在固定位置的数称为定点数。定点小数用来表示浮点数的尾数部分,定点整数用来表示整数,分带符号整数无符号整数
2、浮点数:小数点位置约定为可浮动的数称为浮点数。对于任意一个实数 X X X,可以表示成如下形式: X = ( − 1 ) s × M × R e X=(-1)^{s}\times M\times R^{e} X=(1)s×M×Re,其中,S取值为0或1,S取0时X为正数,S取1时X为负数,M是一个二进制定点小数,称为数X的尾数(mantissa),E是一个二进制定点整数,称为数X的指数(exponent);R是基数(radix、base)),可以为2、4和16等。计算机中只要表示S、M和E三个信息,就能确定X的值,这称为浮点数。其结构如下:
浮点数结构
在基数R一定的情况下,尾数M的位数反映数X的有效位数,它决定了数的表示精度,有效位数越多,表示精度就越高;阶E的位数决定数X的表示范围;阶E的值确定了小数点的位置。浮点数的表示范围比定点数范围要大得多。

【结论】要解决数值数据的表示问题,只要解决定点数的编码问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/480765.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ChatGPT背后的技术:人类反馈强化学习RLHF

文章目录 前言Chat GPT是如何基于RLHF进行训练的RLHF 技术分解预训练语言模型训练奖励模型强化学习微调预训练模型 局限性参考 前言 随着OpenAI推出的Chat GPT火热出圈&#xff0c;Chat GPT背后的技术原理之一&#xff0c;人类反馈强化学习RLHF (Reinforcement Learning from …

Matplotlib 网格线

我们可以使用 pyplot 中的 grid() 方法来设置图表中的网格线。 grid() 方法语法格式如下&#xff1a; matplotlib.pyplot.grid(bNone, whichmajor, axisboth, ) 参数说明&#xff1a; b&#xff1a;可选&#xff0c;默认为 None&#xff0c;可以设置布尔值&#xff0c;true…

prometheus实战之二:使用常见指标

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码)&#xff1a;https://github.com/zq2599/blog_demos 本篇概览 本文是《prometheus实战》系列的第二篇&#xff0c;在《prometheus实战之一&#xff1a;用ansible部署》一文咱们部署了prometheus服务&#xff0c…

防护服穿戴检测识别算法 yolov8

防护服穿戴检测识别系统基于yolov8网络模型图片数据识别训练&#xff0c;算法模型自动完成对现场人员是否按照要求穿戴行为实时分析。YOLOv8 算法的核心特性和改动可以归结为如下&#xff1a;提供了一个全新的 SOTA 模型&#xff0c;包括 P5 640 和 P6 1280 分辨率的目标检测网…

【开发工具】 我居然可以使用Office Tool Plus 安装上Office 真的是太不可思议了

&#x1f680; 个人主页 极客小俊 ✍&#x1f3fb; 作者简介&#xff1a;web开发者、设计师、技术分享博主 &#x1f40b; 希望大家多多支持一下, 我们一起进步&#xff01;&#x1f604; &#x1f3c5; 如果文章对你有帮助的话&#xff0c;欢迎评论 &#x1f4ac;点赞&#x1…

【开发工具】 Office Tool Plus 居然也可以部署 Office 365 我的天 真的是太厉害了

&#x1f680; 个人主页 极客小俊 ✍&#x1f3fb; 作者简介&#xff1a;web开发者、设计师、技术分享博主 &#x1f40b; 希望大家多多支持一下, 我们一起进步&#xff01;&#x1f604; &#x1f3c5; 如果文章对你有帮助的话&#xff0c;欢迎评论 &#x1f4ac;点赞&#x1…

人不成熟的五大特征-读后感

原文地址&#xff1a;人不成熟的五大特征-百度经验 1 立即要回报 1 所有简单的快的&#xff0c;别人也能做&#xff0c;这并不能使你超过别人。 2 做出别人做不出来的复杂成果&#xff0c;需要较长的时间和持续的学习&#xff0c;得到就得付出&#xff0c;时间&#xff0c;资源…

Windows10本地搭建网站教程 - 内网穿透发布公网访问

文章目录 概述1. 搭建一个静态Web站点2. 本地浏览测试站点是否正常3. 本地站点发布公网可访问3.1 安装cpolar内网穿透3.2 创建隧道映射公网地址3.3 获取公网URL地址 4. 公网远程访问内网web站点5. 配置固定二级子域名5.1 保留二级子域名5.2 配置二级子域名 6. 测试访问二级子域…

【Java笔试强训 30】

&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔&#x1f93a;&#x1f93a;&#x1f93a; 目录 一、选择题 二、编程题 &#x1f525;最难的问…

家乡特色推荐系统~java~mysql

摘 要 在Internet高速发展的今天&#xff0c;我们生活的各个领域都涉及到计算机的应用&#xff0c;其中包括家乡特色推荐的网络应用&#xff0c;在外国家乡特色推荐系统已经是很普遍的方式&#xff0c;不过国内的管理网站可能还处于起步阶段。家乡特色推荐系统采用java技术&…

常用半导体器件

&#xff08;1&#xff09;N 型半导体 在纯净的半导体硅或锗中掺入适量的五价磷元素&#xff0c;可形成带负电 的自由电子&#xff08;又称多数载流子&#xff09;参与导电。 &#xff08;2&#xff09;P 型半导体 在纯净的半导体硅或锗中掺入适量的三价硼元素&#xff0c;可形…

JavaEE初阶 - 文件/IO

一、认识文件 我们先来认识狭义上的文件(file)。针对硬盘这种持久化存储的I/O设备&#xff0c;当我们想要进行数据保存时&#xff0c;往往不是保存成一个整体&#xff0c;而是独立成一个个的单位进行保存&#xff0c;这个独立的单位就被抽象成文件的概念&#xff0c;就类似办公…

Docker持久化固定容器IP

基于Docker引擎创建Docker容器&#xff0c;在默认条件下创建容器是bridge桥接模式&#xff0c;启动容器IP地址是DHCP随机分配并且递增的&#xff0c;而且容器之间可以互相通信&#xff0c;网段也是固定的。 当Docker容器一旦关闭再次启动&#xff0c;就会导致容器的IP地址再次重…

C#,生信软件实践(01)——序列文件(如FASTA)合并工具的源代码

1 生物信息学简介 生物信息学&#xff08;BioInformatics&#xff09;是研究生物信息的采集、处理、存储、传播&#xff0c;分析和解释等各方面的学科&#xff0c;也是随着生命科学和计算机科学的迅猛发展&#xff0c;生命科学和计算机科学相结合形成的一门新学科。它通过综合…

Photoshop如何使用通道之实例演示?

文章目录 0.引言1.利用通道调整图像的颜色2.给风景照替换天空3.制作故障艺术效果4.使用通道抠取复杂图像 0.引言 因科研等多场景需要进行绘图处理&#xff0c;笔者对PS进行了学习&#xff0c;本文通过《Photoshop2021入门教程》及其配套素材结合网上相关资料进行学习笔记总结&a…

Linux命令集

一、Linux常用的目录处理命令集 1、ls命令&#xff08;用来查看目录和文件&#xff09; &#xff08;1&#xff09;ls -a&#xff08;查看所有文件包括隐藏文件&#xff09; &#xff08;2&#xff09;ls -l &#xff08;以长格式显示目录下的内容列表&#xff09; &#xff0…

【小样本分割 2022 ECCV】DCAMA

文章目录 【小样本分割 2022 ECCV】DCAMA摘要1. 简介2. 网络2.1 整体架构2.2 特征提取与掩模制备2.3 多尺度多层交叉注意加权掩码聚合。2.4 掩码特性混合器。 3. 代码 【小样本分割 2022 ECCV】DCAMA 论文题目&#xff1a;Dense Cross-Query-and-Support Attention Weighted Ma…

【分布式】路由配置服务

在之前我们将路由表以及分组信息一直存储在网关中&#xff0c;如下图&#xff1a; 显然这样设计并不合理&#xff1a; 网关应该只负责对用户的信息进行解析并根据类型进行转发&#xff0c;最大限度减少其他的负荷网关作为一个单点&#xff0c;在出现故障后&#xff0c;我们希…

CH32V307V-EVT-R1 简单上手入门

文章目录 〇、前言一、开发板展示以及介绍二、开发环境配置与搭建2.1 IDE 介绍2.2 IDE 环境搭建2.3 IDE 配置2.3.1 语言切换&#xff08;汉化&#xff1f;不存在的&#xff09; 三、初次烧录与体验四、简单总结与心得&#x1f517; 链接直达 〇、前言 运气不错&#xff0c;前几…

Oracle的存储结构

Oracle数据库的存储结构分为物理存储结构和逻辑存储结构两种。 物理存储结构&#xff1a;主要用于描述在 oracle 数据库外部数据的存储&#xff0c;即在操作系统层面中如何组织和管理数据&#xff0c;与具体的操作系统有关。 逻辑存储结构&#xff1a;主要描述oracle 数据库…