加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

二进制的运算方法

(2011-09-06 12:54:35)
标签:

杂谈

分类: 软件工程师考试复习

电子计算机具有强大的运算能力,它可以进行两种运算:算术运算和逻辑运算。

1.二进制数的算术运算

  二进制数的算术运算包括:加、减、乘、除四则运算,下面分别予以介绍。


(1)二进制数的加法


  根据“逢二进一”规则,二进制数加法的法则为:


0+0=0
0+1=1+0=1
1+1=0 (进位为1)
1+1+1=1 (进位为1)


例如:1110和1011相加过程如下:


http://hiphotos.baidu.com/bd_leizi/pic/item/ddf7521a1d9e475234fa4185.jpg


(2)二进制数的减法


  根据“借一有二”的规则,二进制数减法的法则为:


0-0=0
1-1=0
1-0=1
0-1=1 (借位为1)


例如:1101减去1011的过程如下:


http://hiphotos.baidu.com/bd_leizi/pic/item/43f82d05b94f75987a894785.jpg


(3)二进制数的乘法


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


0×0=0
0×1=1×0=0
1×1=1


  例如:1001和1010相乘的过程如下:


http://hiphotos.baidu.com/bd_leizi/pic/item/19c28b8936a52a47c9fc7a85.jpg


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


(4)二进制数的除法


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


例如:100110÷110的过程如下:


http://hiphotos.baidu.com/bd_leizi/pic/item/93c34010bb49509bc2fd7885.jpg


所以,100110÷110=110余10。

 

2.二进制数的逻辑运算

  二进制数的逻辑运算包括逻辑加法(“或”运算)、逻辑乘法(“与”运算)、逻辑否定(“非”运算)和逻辑“异或”运算。


(1)逻辑“或”运算


  又称为逻辑加,可用符号“+”或“∨”来表示。逻辑“或”运算的规则如下:


0+0=0或0∨0=0
0+1=1或0∨1=1
1+0=1或1∨0=1
1+1=1或1∨1=1

 
  可见,两个相“或”的逻辑变量中,只要有一个为1,“或”运算的结果就为1。仅当两个变量都为0时,或运算的结果才为0。计算时,要特别注意和算术运算的加法加以区别。


(2)逻辑“与”运算


  又称为逻辑乘,常用符号“×”或“· ”或“∧”表示。“与”运算遵循如下运算规则:


0×1=0或0·1=0或0∧1=0
1×0=0或1·0=0或1∧0=0
1×1=1或1·1=1或1∧1=1


  可见,两个相“与”的逻辑变量中,只要有一个为0,“与”运算的结果就为0。仅当两个变量都为1时,“与”运算的结果才为1。


(3)逻辑“非”运算


  又称为逻辑否定,实际上就是将原逻辑变量的状态求反,其运算规则如下:


http://hiphotos.baidu.com/bd_leizi/pic/item/e1291fcff53c0d040eb34585.jpg


  可见,在变量的上方加一横线表示“非”。逻辑变量为0时,“非”运算的结果为1。逻辑变量为1时,“非”运算的结果为0。

 

(4)逻辑“异或”运算
“异或”运算,常用符号“http://hiphotos.baidu.com/bd_leizi/pic/item/172e0501e5f045ddd53f7c85.jpg”来表示,其运算规则为:


0http://hiphotos.baidu.com/bd_leizi/pic/item/af5a67539f069c7143a75b85.jpg0=0
0http://hiphotos.baidu.com/bd_leizi/pic/item/7011841cafae9da11ad57685.jpg1=1
1http://hiphotos.baidu.com/bd_leizi/pic/item/cf06546c5c71c28f80cb4a85.jpg0=1
1http://hiphotos.baidu.com/bd_leizi/pic/item/0917a8d8027eaa8eb7fd4885.jpg1=0

可见:两个相“异或”的逻辑运算变量取值相同时,“异或”的结果为0。取值相异时,“异或”的结果为1

 


  以上仅就逻辑变量只有一位的情况得到了逻辑“与”、“或”、“非”、“异或”运算的运算规则。当逻辑变量为多位时,可在两个逻辑变量对 应位之间按上述规则进行运算。特别注意,所有的逻辑运算都是按位进行的,位与位之间没有任何联系,即不存在算术运算过程中的进位或借位关系。下面举例说 明。


【例1.1】 如两变量的取值 X=00FFH,Y=5555H


Z1=XYZ2=XYZ3=http://hiphotos.baidu.com/bd_leizi/pic/item/622eab6457a39a71aa184c85.jpgY的值。


解:X=0000000011111111


Y=0101010101010101


则:Z1=0000000001010101=0055H


    Z2=0101010111111111=55FFH


    Z3=1111111100000000=FF00H


    Z4=0101010110101010=55AAH

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有