第1节进制及其转换
一、概念
- 数制:也称为计数制,=固定的符号 +统一的规则。
- 进位计数制:是数制的一种,描述满几进1的一种计数规则。常用的进位计数制有:十进制、二进制、八进制、十六进制。
- 数码:用来表示数制的符号。
- 基数:数码的个数。
- 位权:某一位所处位置的价值(Rn-1)。
位进制 | 二进制 | 八进制 | 十进制 | 十六进制 |
---|---|---|---|---|
规则 | 逢2进1 | 逢8进1 | 逢10进1 | 逢16进1 |
基数 | 2 | 8 | 10 | 16 |
数码 | 0,1 | 0,1,2…,7 | 0,1,2…,9 | 0,1,2…,9 A,B,C,D,E,F |
位权 | 2i-1 | 8i-1 | 10i-1 | 16i-1 |
表示形式 | 1011B (1011)2 | 145O (145)8 | 145D (145)10 | 15EH (15E)16 |
为什么要使用二进制
- 可行性:物理上容易实现
- 逻辑性:二进制中的“0”和“1”刚好可以对应逻辑值中的“真”和“假
- 简易性:二进制运算法则比较简单
- 可靠性:二进制只有0和1两个数,传输和处理时不易出错,使计算机得到高可靠保障
内容 | 含义 |
---|---|
按位与运算符 | 全一为一,其余为零 |
按位或运算符 | 有一为一,无一为零 |
异或运算符(⊕) | 相同为零,不同为一 |
取反运算符(~) | 有一为零,有零为一 |
左移(<<) | 有一左移,高位舍弃 |
右移(>>) | 有一右移,低位舍弃 |
二、进制转换
三、进制相关的其他运算
1.“与”运算(程序中用&&表示)
1&1=1 1&0=00&1=0 0&0=0
2.“或”运算(程序中用||表示)
1 || 1=1 1 || 0=1 0 || 1=10 ||0=0
3.“非”运算(用¬表示)
¬1=0 ¬0=1
4.“异或”运算(用^或者⊕表示)
规则:相同为0;不同为1;
1⊕1=0 0⊕0=0 1⊕0=0 0⊕1=0
5.“同或”运算(用⊙表示)
规则:相同为1;不同为0;
1⊙1=1 0⊙0=1 1⊙0=1 0⊙1=0
6.“或非”运算(NOR)
规则:先做或运算,在做非运算;
1 NOR 1 = 0 1 NOR 0 = 0 0 NOR 1 = 00 NOR 0 = 1
7.小数点移动
R进制小数点向右移动n位,扩大Rn倍;
四、信息存储单位
位(bit,b):代表一位二进制,是计算机中信息表示和处理的最小单位。
字节(Byte,B):是计算机中信息表示的基本单位,1B = 8b。
- 1B = 8b
- 1KB = 1024B
- 1MB = 1024KB
- 1GB= 1024MB
- 1TB = 1024GB
计算机中采用二进制的原因:
- 物理元件性能所致:0、1分别对应高、低电平(主要原因)
- 运算简单:只有四种加法运算。0+0=0 1+0=1 0+1=1 1+1=10
- 容易实现逻辑运算:与、或、非
第2节计算机中的信息表示
一、数的表示
1.原码、反码、补码
原码反码补码通常用八位二进制表示,其中第一位表示符号位,其他位表示数值位,其中符号位中,用1表示负,0表示正。
正数:[X]原 = [X]负 = [X]补
负数:反码为原码的符号位不变,其余位相反。
[X]补 = [X]反 + 1
2.8421BCD码
一种表示数字的方法,用0000 – 1001分别表示0-9。
3.数的表示范围
【n位二进制】
有符号数:-2n-1 ~+2n-1-1
无符号数:0 ~ 2n-1
状态:2n
【8位二进制】
有符号数:-128 ~ 127
无符号数:0 ~ 255
状态:256
【16位二进制】
有符号数:-32768 ~32767
无符号数:0 ~65535
状态:65536
二、字符表示
1.ASCII码
标准ASCII码:占1Byte 最高位为0 可表示128个字符(记住常用的字符的ASCII码值)
扩展ASCII码:占1Byte 最高位为1 可表示128个字符
2.汉字编码
(1)区位码
由四位十进制构成,前两位叫做区码,后两位叫做位码。
(2)国标码
国家标准汉字编码(GB2312-80)
国标码 = 区位码 + 2020H
PS:这里需要注意的是,先要把区位码的区码和位码分别转换成十六进制。
(3)机内码(内码)
实际存储在计算机内部的汉字编码,每个汉字占两个字节,为了兼容ASCII码,规定每个字节最高位为1。
机内码 = 国标码 + 8080H
(4)输入码
又称为外码,分为音码和形码。(分别对应拼音输入法和五笔输入法)
(5)字形码
又称为输出码、字模,分为点阵字模和矢量字模。字库中存放的就是字形码。
点阵字模:不易缩放,易失真。
矢量字模:易缩放,不易失真。
(6)字形码计算:
一个n*n的点阵字模,所占字节数为n*n/8字节。
(7)BIG-5 繁体字编码
GBK 汉字内码扩展规范
3.万国码
涵盖了所有的国家文字符号的编码,因此成为万国码,或者统一码。采用Unicode编码方式:utf-8 utf-16utf-32