二进制数的运算

如题所述

二进制数的运算除了有四则运算外,还可以有逻辑运算。

下面分别予以介绍。
二进制数的四则运算
二进制数与十进制数一样,同样可以进行加、减、乘、除四则运算。其算法规则如下:
加运算: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当2;
乘运算:0×0=0,0×1=0,1×0=0,1×1=1,#只有同时为“1”时结果才为“1”;
除运算:二进制数只有两个数(0,1),因此它的商是1或0。
加法0+0=0,0+1=1+0=1,1+1=10
减法0-0=0,1-0=1,1-1=0,0-1=-1,10100-1010=1010
乘法0×0=0,0×1=1×0=0,1×1=1
除法0÷1=0,1÷1=1
只有0和1两个数码,基数为二。 如下:
(1)首先是最右数码位相加。这里加数和被加数的最后一位分别为“0”和“1”,根据加法原则可以知道,相加后为“1”。
(2)再进行倒数第二位相加。这里加数和被加数的倒数第二位都为“1”,根据加法原则可以知道,相加后为“(10)2”,此时把后面的“0”留下,而把第一位的“1”向高一位进“1”。
(3)再进行倒数第三位相加。这里加数和被加数的倒数第二位都为“0”,根据加法原则可以知道,本来结果应为“0”,但倒数第二位已向这位进“1”了,相当于要加“被加数”、“加数”和“进位”这三个数的这个数码位,所以结果应为0 1=1。
(4)最后最高位相加。这里加数和被加数的最高位都为“1”,根据加法原则可以知道,相加后为“(10)2”。一位只能有一个数字,所以需要再向前进“1”,本身位留下“0”,这样该位相加后就得到“0”,而新的最高位为“1 (1)首先最后一位向倒数第二位借“1”,相当于得到了(10)2,也就是相当于十进制数中的2,用2减去1得1。
(2)再计算倒数第二位,因为该位同样为“0”,不及减数“1”大,需要继续向倒数第三位借“1”(同样是借“1”当“2”),但因为它在上一步中已借给了最后一位“1”(此时是真实的“1”),则倒数第二位为1,与减数“1”相减后得到“0”。
(3)用同样的方法倒数第三位要向它们的上一位借“1”(同样是当“2”),但同样已向它的下一位(倒数第二位)借给“1”(此时也是真实的“1”),所以最终得值也为“0”。
(4)被减数的倒数第四位尽管与前面的几位一样,也为“0”,但它所对应的减数倒数第四位却为“0”,而不是前面几位中对应的“1”,它向它的高位(倒数第五位)借“1”(相当于“2”)后,在借给了倒数第四位“1”(真实的“1”)后,仍有“1”余,1 –0=1,所以该位结果为“1”。
(5)被减数的倒数第五位原来为“1”,但它借给了倒数第四位,所以最后为“0”,而此时减数的倒数第五位却为“1”,这样被减数需要继续向它的高位(倒数第六位)借“1”(相当于“2”),2–1=1。
(6)被减数的最后一位本来为“1”,可是借给倒数第五位后就为“0”了,而减数没有这个位,这样结果也就是被减数的相应位值大小,此处为“0”。
在二进制数的加、减法运算中一定要联系上十进制数的加、减法运算方法,其实它们的道理是一样的,也是一一对应的。在十进制数的加法中,进“1”仍就当“1”,在二进制数中也是进“1”当“1”。在十进制数减法中我们向高位借“1”当“10”,在二进制数中就是借“1”当“2”。而被借的数仍然只是减少了“1”,这与十进制数一样。 把二进制数中的“0”和“1”全部当成是十进制数中的“0”和“1”即可。根据十进制数中的乘法运算知道,任何数与“0”相乘所得的积均为“0”,这一点同样适用于二进制数的乘法运算。只有“1”与“1”相乘才等于“1”。乘法运算步骤:
(1)首先是乘数的最低位与被乘数的所有位相乘,因为乘数的最低位为“0”,根据以上原则可以得出,它与被乘数(1110)2的所有位相乘后的结果都为“0”。
(2)再是乘数的倒数第二位与被乘数的所有位相乘,因为乘数的这一位为“1”,根据以上原则可以得出,它与被乘数(1110)2的高三位相乘后的结果都为“1”,而于最低位相乘后的结果为“0”。
(3)再是乘数的倒数第三位与被乘数的所有位相乘,同样因为乘数的这一位为“1”,处理方法与结果都与上一步的倒数第二位一样,不再赘述。
(4)最后是乘数的最高位与被乘数的所有位相乘,因为乘数的这一位为“0”,所以与被乘数(1110)2的所有位相乘后的结果都为“0”。
(5)然后再按照前面介绍的二进制数加法原则对以上四步所得的结果按位相加(与十进制数的乘法运算方法一样),结果得到(1110)2×(0110)2=(1010100)2。 (1)首先用“1”作为商试一下,相当于用“1”乘以除数“110”,然后把所得到的各位再与被除数的前4位“1001”相减。按照减法运算规则可以得到的余数为“011”。
(2)因为“011”与除数“110”相比,不足以被除,所以需要向低取一位,最终得到“0111”,此时的数就比除数“110”大了,可以继续除了。同样用“1”作为商去除,相当于用“1”去乘除数“110”,然后把所得的积与被除数中当前四位“0111”相减。根据以上介绍的减法运算规则可以得到此步的余数为“1”。
(3)因为“1”要远比除数“110”小,被除数向前取一位后为“11”,仍不够“110”除,所以此时需在商位置上用“0”作为商了。
(4)然后在被除数上继续向前取一位,得到“110”。此时恰好与除数“110”完全一样,结果当然是用“1”作为商,用它乘以除数“110”后再与被除数相减,得到的余数正好为“0”。证明这两个数能够整除。
这样一来,所得的商(1101)2就是两者相除的结果。 ASCII码就是被普遍采用的一个英文字符信息编码方案,它用8位二进制数表示各种字母和符号,例如:
01000001表示A 01000010表示B
8个二进制位称为一个字节(Byte,代号为B)。字节是最基本的信息储存单位,一个字节可以储存一个英文字母或符号编码,两个字节可以储存一个汉字编码。
同二进制数一样,二进制编码也是计算机内部用来表示信息的一种手段,人们平时和计算机打交道时,根本不用理它。我们仍然用人们习惯的方式输入或者输出信息,期间的转换则由计算机自动去完成。
计算机中一个存储单位(即一个字节)里存放的究竟是二进制数还是二进制编码?是英文是汉字?事实上它们都由程序进行识别。例如,表示英文字符的8位二进制编码的最高位是0,而表示汉字两个8位二进制编码的最高位是1,这一点就是程序区别存储单位里存放的是英文还是汉字的一个依据。 十进制数→二进制数(注:十进制数只有0到9) 十进制 0 1 2 3 4 5 6 7 8 9  二进制 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001  16→10000
46→101110
99→1100011
888→1101111000
7654→1110111100110
注:一般为了区别二进制数与十进制数,再二进制数后加上一个“B”,如145→10010001B
通常我们所说的数字,一般都是十进制,10分就1角,10角就1元……这些数字只是由十个数组成,那就是:0、1、2、3、4、5、6、7、8、9[我们一般称之为基数(base)]
都是这些数,但它们处于不同位置所代表的重量就不一样了哦,如111,都是1但就是不一样,这就涉及到了位权的概念了,可用以下实例来说明。一个十进制数结4553.87可表示为:

在这个数中,有些相同的数字由于处在不同的位置,它们代表的数值的大小也不同,各位数字所代表的数值的大小是由位权来决定的。位权是一个乘方值,乘方的底数为进位计数制的基数(本例中为1 0 ),而指数由各位数字在数中的位置来决定。以上的十进制数中,从左至右各位数字的位权分别为:10³、10²、10¹、10º、、。一般而言,在进位制中,把一个数中各位数字为1时代表的数值大小称为位权。如456它们的位权就是当各位为1时的数值大小,456中的4的位权就是10(2),5的位权就是10(1),6的位权就是10(0).

除了位权对于进制记数的另一个重要概念就是基数,基数很好理解,就是进位计数制中所使用的不同基本符号的个数称为该计数制的基数,比如十进制就是1.2.3.4.5.6.7.8.9.0这十个数,相对而言二进制就两个基数:0和1,八进制就是:0.1.2.3.4.5.6.7,十六进制就是:0.1.2.3.4.5.6.7.8.9.A.B.C.D.E.F
由上面两个概念可以得出以下公式:[以下将详细说名]
N进制的基数就能表示为:0、1、2、……、N-2、N-1
N进制的权一般可以表示:[X就是某数在它的数列中所处位置]
N进制展开成十进制公试:如

十进制:有10个基数:0、1、2、3、4、5、6、7、8、9,逢十进一
二进制:有2 个基数:0、1,逢二进一
八进制:有8个基数:0、1、2、3、4、5、6、7,逢八进一
十六进制:有16个基数:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,逢十六进一
由于大家从小开始就学习十进制,生活中用途更是广泛,一种单一的数字思维模式使我们很多人以为就只有这么一种进制数.在以下给大家说说计算机中用得最多的进制数,让大家开阔思维,不要停留于一成不变的思维模式中。
计算机中用得最多也是CPU唯一能认出的数制,那就是二进制。计算机是处理信息的机器,信息处理的前提是信息的表示。计算机内信息的表示形式是二进制数字编码。也就是说,各种类型的信息(数值、文字、声音、图像)必须转换成数字量即二进制数字编码的形式,才能在计算机中进行处理。那怕你移动一下鼠标,按一下键盘,你的每一个动作最后到了CPU那也就只剩0和1了,有时觉得设计计算机的人也太厉害了,就两个数字就能弄出这么完美的东西来,这就是智慧的结晶,其实说到底了CPU也就几百条指令而已,在软件和系统的层层迭加下让我们根本就不了解计算机内部是什么样?其实没什么,就是0和1两个状态而已。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-12-10
二进制1011110除以二进制111
相似回答