二进制数

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”。

二进制数(binaries)是逢2进位的进位制,0、1是基本算符;计算机运算基础采用二进制。电脑的基础是二进制。在早期设计的常用的进制主要是十进制(因为我们有十个手指,所以十进制是比较合理的选择,用手指可以表示十个数字,0的概念直到很久以后才出现,所以是1-10而不是0-9)。电子计算机出现以后,使用电子管来表示十种状态过于复杂,所以所有的电子计算机中只有两种基本的状态,开和关。也就是说,电子管的两种状态决定了以电子管为基础的电子计算机采用二进制来表示数字和数据。常用的进制还有8进制和16进制,在电脑科学中,经常会用到16进制,而十进制的使用非常少,这是因为16进制和二进制有天然的联系:4个二进制位可以表示从0到15的数字,这刚好是1个16进制位可以表示的数据,也就是说,将二进制转换成16进制只要每4位进行转换就可以了。

二进制的“00101000”直接可以转换成16进制的“28”。字节是电脑中的基本存储单位,根据计算机字长的不同,字具有不同的位数,现代电脑的字长一般是32位的,也就是说,一个字的位数是32。字节是8位的数据单元,一个字节可以表示0-255的十进制数据。对于32位字长的现代电脑,一个字等于4个字节,对于早期的16位的电脑,一个字等于2个字节。

例子:

如十进制10 变二进制

10/2 = 5 余0

5/2 = 2 余1

2 /2 =1 余0

1/2 = 0 余1

计算结束,把余数从后向前写出:1010,即十制10 变为二进制后是1010;

二进制计算与十进制计算类似,只不过是逢二进。以加法为例:

0 + 0 = 0

0+1 =1

1+0 = 0

1+1= 10

//如二进制100 + 101计算

1 0 0

+ 1 0 1

----------

1 0 0 1

相当于十进制4+5 = 9

特性编辑

1、如果一个二进制数(整型)数的第零位的值是1,那么这个数就是奇数;而如果该位是0,那么这个数就是偶数。

二进制数

2、如果一个二进制数的低端n位都是零,那么这个数可以被2n整除。

3、如果一个二进制数的第n位是一,而其他各位都是零,那么这个数等于2^n。

4、如果一个二进制数的第零位到第n - 1位都是1,而且其他各位都是0,那么这个数等于2^n - 1。

5、将一个二进制数的所有位左移移位的结果是将该数乘以二。

6、将一个无符号二进制数的所有位右移一位的结果等效于该数除以二(这对有符号数不适用)。余数会被下舍入(rounddown)

7、将两个n位的二进制数相乘可能会需要2*n位来保存结果。

8、将两个n位的二进制数相加或者相减绝不会需要多于n 1位来保存结果。

9、将一个二进制数的所有位取反(就是将所有的一改为零,所有的零改为一)等效于将该数取负(改变符号)再将结果减一。

10、将任意给定个数的位表示的最大无符号二进制数加一的结果永远是零。

11、零递减(减一)的结果永远是某个给定个数的位表示的最大无符号二进制数。

12、n位可以表示2n个不同的组合。

13、数2年包含n位,所有位都是一。

运算编辑

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

二进制数

下面分别予以介绍。

二进制数的四则运算

二进制数与十进制数一样,同样可以进行加、减、乘、除四则运算。其算法规则如下:

加运算: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”,这一点同

相关文档
最新文档