二进制运算与转换

一开始并不是十分的理解什么是二进制,写了从1到512的全部二进制表达,才有了一些理解。

一 、什么是二进制

二进制是逢2进位的进位制,0、1是基本算符。现代的电子计算机技术全部采用的是二进制,因为它只使用0、1两个数字符号,非常简单方便,易于用电子方式实现。计算机内部处理的信息,都是采用二进制数来表示的。二进制(Binary)数用0和1两个数字及其组合来表示任何数。

二、二进制的加减乘除

(1)二进制数的加法  
  根据“逢二进一”规则,二进制数加法的法则为:   
0+0=0 
0+1=1+0=1 
1+1=0 (进位为1)  1+1+1=1(进位为1)

例如:100+101=1001

(2)二进制数的减法

  根据“借一有二”的规则,二进制数减法的法则为:   
0-0=0 1-1=0 1-0=1 
0-1=1 (借位为1)   

例如1000-100=100

(3)二进制数的乘法

      二进制数乘法过程可仿照十进制数乘法进行  , 但由于二进制数只有0或1两种可能的乘数位,导致二进制乘法更为简单。 二进制数乘法的法则为:

      0x0= 0

      0x1= 1x0=0

      1x1=1

      例如:10x11=110

      由低位到高位,用乘数的每一-位去乘被乘数, 若乘数的某-位为1,则该次部分积为被乘数; 若乘数的某-位为0, 则该次部分积为0。某次部分积的最低位必须和本位乘数对齐, 所有部分积相加的结果则为相乘得到的乘积。

      (4)二进制数的除法

      二进制数除法与十进制数除法很类似。 可先从被除数的最高位开始, 将被除数(或中间余数)与除数相比较,若被除数(或中间余数)大于除数,则用被除数(或中间余数)减去除数,商为1,并得相减之后的中间余数, 否则商为0。再将被除数的下一-位移下补充到中间余数的末位  ,重复以上过程,就可得到所要求的各位商数和最终的余数

       例如:100110÷110

二进制运算与转换_第1张图片

三、二进制转十进制

以二进制的最末一位数去乘以2的0次幂,在前一位乘以2的一次幂,以此类推

比如将10101转化为十进制

10101=1*2^4+0*2^3+1*2^2+0*2^1+1*2^0=21

 

四、十进制转二进制

(1)辗转相除法

将该数字不断除以2直到商为零,然后将余数由下至上依次写出,即可得到该数字的二进制表示

以将数字21转化为二进制为例

          二进制运算与转换_第2张图片,、

当商为零时,将余数由下至上依次写出,即为21的二进制表示

 

二进制运算与转换_第3张图片

(2)二的n次方法

找节点,一个十进制的数m,它的附近有一个2的n次方,可以用m减去2的n次方,一直减到没有2的n次方。然后将几个数的二进制相加。(2的几次方后接几个0.)

比如:33

33减2的5次方余数是1

100000+1=100001

比如:160

2的7次方+2的5次方

10000000+100000=10100000

 

你可能感兴趣的:(计算机基础)