计算机网络笔记(一)——数制与编码

数制与编码脑图

01数制与编码

01数制与编码

数制与编码

十进制数转换成非十进制数

  • 整数部分的转换用「除基取余法」,也就是用基数相除,然后反序(由后向前取)取余数;
  • 小数部分的转换用「乘基取整法」,也就是用基数相乘,然后正序(由前向后取)取整数;
  • 这里的「基数」就是对应的数制,如二进制数为2,八进制数为8,十六进制数为16。

非十进制数转换成十进制数

  • 把非十进制数据按位以对应的权值展开,然后相加即得出相应的十进制值。
  • 1.整数的第0位(也就是最低位)的权值为对应进制的0次方,最高位的权值为对应进制的n-1次方;
  • 2.小数的第一位(最靠近小数点的那位,也是小数的最高位)的权值为对应进制的-1次方,最后一位(最右边的那位,也即小数的最低位)的权值为对应进制的-n次方;

非十进制数之间的相互转换

  • 八进制转二进制:将每1位八进制数直接用相应的3位二进制来表示;二进制数转八进制:以小数点为边界,整数部分向左,小数部分向右将每3位二进制分成一组,若不足3位则用0补足3位,然后将每一组二进制数直接用相应的1位八进制来表示。
  • 十六进制转二进制:将每1位十六进制数直接用相应的4位二进制来表示;二进制数转十六进制:以小数点为边界,整数部分向左,小数部分向右将每4位二进制分成一组,若不足4位则用0补足4位,然后将每一组二进制数直接用相应的1位十六进制来表示。
  • 八进制与十六进制的相互转换最好的方法就是先把其中一个转换成二进制,然后再把所得到的二进制数转换成另一个进制的数。

二进制数运算

  • 四则运算
    加法:0+0=0,0+1=1,1+0=1,1+1=10,逢2高位进1;
    减法:1-1=0,1-0=1,0-0=0,0-1=-1,逢负向位借1;
    乘法:0x0=0,0×1=0,1×0=0,1×1=1,乘数的每一位要与被乘数的每一位分别相乘,而且乘数的每一位与被乘数的每一位相乘的结果的最低位要与对应的乘数位对齐;
    除法:当被除数大于除数时,商是1,当被除数小于除数时,不够除,商只能是0,这与十进制的除法也类似。二进制只有两个数(0,1),因此它的商也只能是1或0;
  • 逻辑运算
    1.「与」运算(AND
    ),「与」运算又称逻辑乘,用符号「·」或「∧」来表示。0∧0=0,0∧1=0,1∧0=0,1∧1=1;
    2.「或」运算(OR),「或」运算又称逻辑加,用符号「+」或「∨」表示。0∨0=0,0∨1=1,1∨0=1,1∨1=1;
    3.「非」运算(NOT),「非」运算就是逐位求反的运算,其运算法则为:0的反值为1,1的反值为0,也就是0与1互为反;
    4.「异或」运算(XOR),异或运算用符号⊕来表示。0⊕0=0,0⊕1=1,1⊕0=1,1⊕1=0,相同为0,不同为1;

二进制数的表示形式

  • 计算机中有:原码、反码、补码和移码表示形式,其根本原因是计算机只有加法运算器
  • 无符号数就是二进制数的每一位都代表对应的数值;而在有符号数中规定最高位用来表示数据符号,其中1代表负,0代表正;
  • 补码的加法运算:[X+Y]补 = [X]补+[Y]补 ;
    补码的减法运算:[X-Y]补 = [X]补 + [-Y]补;
    [-Y]补是对减数进行求负操作,求负的规则是全部位(含符号位)取反后再加1(实际上也是分别对符号位和真值位进行求反,因为正数与负数的符号也正好相反);
  • 原码:就是原始码位,是对应二进制数本身所代表的形式。用最高位表示符号,即1表示负、0表示正;
    补码:正数的补码和原码相同,负数的补码是通过先把符号位外其他各位取反,再在末位(最低位)加1;
    补码转换成原码:只需要把原码转换成补码的过程倒过来操作就行了。即正数补码的原码就是其补码本身,而负数补码的原码是先末位减1,再对其除符号位外的其他各位全部取反;
    反码:反码是专门针对负数进行的(正数的反码与原码一样),就是对二进制负数按位(除符号位外)取反;
    移码:一种比较特殊的二进制数表示形式,编码规则是正数的符号位为1,负数的符号位为0,真值部分与补码一样;
  • 字长是指计算机一次可处理的二进制数的码位长度,是计算机进行数据存储和数据处理的运算单位。如32位处理器就是指处理器的字长为32位。通常16位是一个字、32位是一个双字、64位是两个双字。
Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

You are commenting using your WordPress.com account. Log Out /  更改 )

Google photo

You are commenting using your Google account. Log Out /  更改 )

Twitter picture

You are commenting using your Twitter account. Log Out /  更改 )

Facebook photo

You are commenting using your Facebook account. Log Out /  更改 )

Connecting to %s

在 WordPress.com 上创建您自己的网站
开始
%d 博主赞过:
search previous next tag category expand menu location phone mail time cart zoom edit close