新一轮软考备考来啦~
为了帮助大家提高备考效率,将2023上半年软考网络工程师知识点速记分享给大家,快来跟着一起打卡学习吧!
进制的转换
数据的表示方法有二进制、八进制、十进制和十六进制等。网络工程师考试要求重点掌握这四种进制之间的数据转换方法。
R
进制,通常说法就是逢
R
进
1
。可以用的数为
R
个,分别是
0
,
1
,
2
,…,
R
-
1
。
例如八进制数的基数为 8
,即可以用到的数码个数为
8
,一位可以表示的数是
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
。二进制数的基数为
2
,一位可以表示的数是
0
和
1
。对于十六进制,一位可以表示
的数为
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
A
,
B
,
C
,
D
,
E
,
F
。
为了把不同的进制数分开表示,避免造成混淆,通常采用下标的方式来表示一个数的进制,如十进制数 18
表示为:(
18
)
10
,八进制数
18
表示为:(
18
)
8
。而如果是十六进制数,通常在数字的后面加大写“H
”表示十六进制,例如,
ABH
就表示十六进制数
AB
。
进制间互转一般是无符号的数,三位二进制的数可以转换成一个八进制的数,四位二进制的数可以转换成一个十六进制数。
需要更多
软考网工籽料,电子版的也整理好了,欢迎一起来交流学习~
---<<<
点击链接加入群聊【软考网络工程师交流】>>>
原码、反码、补码和移码
一个数在计算机中的二进制表示形式,叫作这个数的机器数。机器数是带符号的,在计算机中用一个数的最高位作为符号位,正数为 0,负数为 1。
因为第一位是符号位,所以机器数的形式值就不等于真正的数值。
例如有机器数
10000011
,其最高位
1
代表负,其真值是
-3
,而不是
131
(
10000011
转换成十进制等于 131
)。
1.原码
原码就是符号位加上真值的绝对值,即用第一位表示符号,其余位表示值。例如:假设 用 8
位表示一个数值,则
+11
的原码是
00001011
,
-11
的原码是
10001011
。
2.反码
反码通常是用来由原码求补码或者由补码求原码的过渡码。
反码表示法和原码表示法一 样是在数值前面增加了一位符号位(即最高位为符号位),正数的反码与原码相同,负数的 反码符号位为 1
,其余各位为该数绝对值的原码按位取反。
例如:
+11
的反码是
00001011
,
-11
的反码为
11110100
。
同理反码也存在“
0
”这个特殊的数值上,会有
[0000 0000]
反和
[1111 1111]
反两个编码
表示
0
。
3.补码
在计算机系统中,
数值一律用补码来表示和存储
。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。补码能唯一的表示一个数值。修复 了 0
的存在两个编码的问题。
补码表示法和原码表示法一样是在数值前面增加了一位符号位(即最高位为符号位), 正数的补码与原码相同,负数的补码是该数的反码加 1
,这个加
1
就是“补”。
例如:
+11
的补码是
00001011
,
-11
的补码为
11110101
。
注意:其中负数补码转原码,符号位保留,其余各位取反
+1
。
4.移码
移码(又叫增码)是符号位取反的补码,一般用指数的移码减去
1
来做浮点数的阶码, 引入的目的是为了保证浮点数的机器零为全 0
。
对于原码、反码和补码,假设用
n
位表示数值(二进制),则各种表示方法的表示范围
如表
1-1
所示。
更多内容持续更新中,欢迎一起交流学习~