迄今为止,所有计算机都以二进制形式进行算术运算和逻辑操作。
在计算机中,广泛采用的是只有"0"和"1"两个基本符号组成的二进制数,而不使用人们习惯的十进制数。二进制数在物理上最容易实现。例如,可以只用高、低两个电平b表示"1"和"0",也可以用脉冲的有无或者脉冲的正负极性表示它们。要说信息量,二进制实际并不大。采用二进制表示有以下优点:1、易于物理实现2、运算简单3、机器可靠性高4、通用性强四个特点。
进制数转换成十进制数只要把欲转换数按权展开后相加即可。
十进制整数转换成二进制整数的方法有很多种,但最常用的是“除2取余法”。
十进制小数转换成二进制小数通常采用“乘2取整法”。
二进制数转换成十六进制数可采用“四位合一位法”。
在计算机中,经常遇到的运算分为两类:一类是算术运算;另一类是逻辑运算.算术运算包括加、减、乘、除运算,逻辑运算有逻辑乘、逻辑加、逻辑非和逻辑异或等。
在计算机中,“部分积左移”和“部分积右移”是普遍采用的两种乘法算法。这种算法很难为人们所理解,但它却十分有利于计算机采用硬件或软件的方法来实现。
逻辑运算由专门的逻辑电路完成。口诀如下:
与:and -> 有0出0,全1出1 例如:1 ,1-->1 1 ,0-->0 0 ,1-->0 0 ,0-->0
或:or -> 有1出1,全0出0 例如:1 ,1-->1 1 ,0-->1 0 ,1-->1 0 ,0-->0
非:not ->有1出0,有0出1 例如:1 -->0 0-->1
与非:nand ->先按与的操作,然后结果取反 例如:1 ,1-->0 1 ,0-->1 0 ,1-->1 0 ,0-->1
或非:nor ->先按或的操作,然后结果取反 例如:1 ,1-->0 1 ,0-->0 0 ,1-->0 0 ,0-->1
异或:xor ->相异为1,相同为0 例如:1 ,1-->0 1 ,0-->1 0 ,1-->1
同或:xnor ->相同为1,相异为0 例如:1 ,1-->1 1 ,0-->0 0 ,1-->0 0 ,0-->1
在计算机中,由于机器只能识别二进制数,因此键盘上所有数字、字母和符号也必须事先为它们进行二进制编码,以便机器对它们加以识别、存储、处理和传送。
BCD码(Binary Coded Decimal,十进制数的二进制编码)和ASCII码(American Standard Codefor Information Interchange,美国信息交换标准码)是计算机中两种常用的二进制编码。
ASCII码(American Standard Code forInformation Interchange,美国信息交换标准码)诞生于1963年,是一种比较完整的字符编码,现已成为国际通用的标准编码,广泛应用于微型计算机中.
信息通常是按字节存储和传送的,一个字节有8位.ASCII码共有7位,作为一个字节还多出一位.多出的这位是最高位,常常用作奇偶校验,故称为奇偶校验位.奇偶校验位在信息发送中用处很大,它可以用来校验信息传送过程是否有错。
汉字编码:国标码(GB2312),国标码是«信息交换用汉字编码字符集的基本集»的简称,是我国国家标准总局于1981年颁布的国家标准,编号为GB2312-80。
校验码编码采用“冗余校验”的编码思想.所谓“冗余校验”编码是指在基本的有效信息代码位上再扩充若干位校验位。增加的若干位校验位对编码前的信息来说是多余的,故又称为“冗余位”。冗余位对于信息的查错和纠错是必需的,而且冗余位越多,其查错和纠错能力就越强。
奇偶校验码编码和解码又称奇偶校验,是一种只有一位冗余位的校验码编码方法,常用于主存校验和信息传送。
海明码是一种既能发现错误又能纠正错误的校验码,由理查德·海明(Richard Hamming)于1950年提出。
循环冗余校验码(CRC:Cyclic Redundancy Check)可以发现并纠正信息存储或传输过程中连续出现的多位错误,这在辅助存储器(如磁表面存储器)和计算机通信方面得到了广泛的应用。