新一轮软考备考来啦~
为了帮助大家提高备考效率,将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 所示。
更多内容持续更新中,欢迎一起交流学习~