今天开始学习补充学习一些计算机基础知识。下面开始记笔记模式:
计算机采用二进制的理由
- 技术实现简单:具有两种稳定状态的器件很容易找
- 运算规则简单:二进制只有0和1两个符号
- 易于与十进制的转换
- 计算机能够直接识别的信息只有二进制
- 所有需要计算机存储的、处理的信息都必须转换为二进制
- 用0表示低电平,1表示高电平
字符编码
ASCII码
- 标准ASCII: 用7位二进制码表示1个符号 (少的一位也就是第8位,最高位默认为0);可以表示128个字符【2的7次方】
- 扩展ASCII码(ANSI):扩展ASCII码(ANSI)用8位表示一个字符;可以表示256个字符【2的8次方】
除了ASCII码之外,西文字符编码还有其他的编码,比如:Unicode码、UTF-8等。这些通用的字符编码,可以满足跨语言和平台的文本转换。
外码:输出码【常见的输入法,比如搜狗,智能ABC等,都是属于输入码】
机内码:机内码是汉字在计算机存储的一种编码形式;机内码有:国标码、BIG5等。机内码,并不能直接在屏幕上显示和输出。要在屏幕上输出,需要有字形码或矢量汉字。
首先看看国标码,国标码用于计算机之间或与终端之间信息交换时的汉字代码(GB2312、GBK、GB18030) 。国标码里每一个汉字都是由连续的两个字节组成,每个字节7位有效,最高位是1
字形码: 以点阵形式表示一个汉字。字形码我们也叫字形点阵,它是用来确定一个汉字字形点阵的代码。汉字字形点阵中的每一个点会对应一个二进制位。所以要表示一个汉字,需要很多二进制位。
矢量汉字:则是通过软件的方式,将一个汉字表现在屏幕上的。随着技术的发展,我们今天的汉字还有一种表示方法。也就是用软件的方式来描述汉字,也就是所谓的矢量汉字。
矢量字库保存对每一个汉字的描述信息,比如一个笔画的起始、终止坐标,半径、弧度等等。在输出是要经过一定的数学运算。矢量汉字可以随意的放大、缩小而不会变形。
Windows中使用的字库包括以上两类。 在 FONTS目录下,扩展名为FON的文件为点阵字库,扩展名为TTF的矢量字库。
计算机中的数制:十进制、二进制、十六进制、八进制
十进制特点:
- 以10为第,递10进1
- 共有0~9 10个数字符号,用D(decimal)代表
二进制特点:
- 以2为底,逢2进位
- 只有0和1两个符号,用B(binary)表示。
十六进制特点:
- 有0到9及A-F共16个数字符号
- 逢16进位,用H(hex)表示。
八进制特点:
- 有0到7共8个数字符号
- 逢8进位,用O(octal)表示
各种进制数间的转换:
- 非十进制数到十进制数的转换:权值展开求和即可;
-
十进制数到非十进制数的转换:
10进制到二进制的转换
- 对整数:除2取余
- 对小数:乘2取整
10进制到十六进制的转换
- 对整数:除16取余
- 对小数:乘16取整
10进制到八进制的转换
- 对整数:除8取余
- 对小数:乘8取整
乘X取整,看小数后有多少位,如果小数点要求3位,就乘3次就可以了。
非十进制数与二进制数的转换:
- 十六进制数与二进制的转换: 用4位二进制数表示1位16进制数; 整数部分,从小数点向左分组,每4位一组,不够4位的高位补0;小数部分,从小数点向右分组,不够4位的在低位补0;
-
八进制与二进制的转换: 用3位二进制表示1位8进制数; 整数部分,从小数点向左,每3位一组,不够3位的高危补0,小数部分,从小数点向右分组,不够3位的在低位补0。