目录

  • 1 计算机概述
    • 1.1 计算机简介
    • 1.2 计算机系统
    • 1.3 数值在计算机中的表示
  • 2 C语言概述
    • 2.1 C语言发展及特点
    • 2.2 C语言程序的运行步骤和开发环境
    • 2.3 简单的C语言程序
  • 3 C语言基础
    • 3.1 变量、常量及数据类型
    • 3.2 运算符和表达式
    • 3.3 输入、输出
  • 4 选择结构
    • 4.1 计算机编程和算法
    • 4.2 if语句
    • 4.3 if嵌套和if多分支
    • 4.4 switch语句
  • 5 循环结构
    • 5.1 while语句和do...while语句
    • 5.2 for语句
    • 5.3 break语句和continue语句
    • 5.4 goto语句构成的循环
    • 5.5 嵌套循环结构
    • 5.6 程序设计举例
  • 6 函数
    • 6.1 函数的定义与调用
    • 6.2 函数的嵌套调用和递归调用
    • 6.3 作用域和生命周期
    • 6.4 章节小结与测试
  • 7 数组
    • 7.1 一维数组及应用
    • 7.2 二维数组及应用
    • 7.3 字符数组
    • 7.4 数组作为函数参数
    • 7.5 章节小结与测试
  • 8 指针
    • 8.1 指针变量
    • 8.2 指针与数组
    • 8.3 指针的多种形态
  • 9 字符串
    • 9.1 字符串概念及输入输出
    • 9.2 字符串函数
    • 9.3 指针与字符串
    • 9.4 章节小结与测试
  • 10 编译预处理
    • 10.1 宏定义
    • 10.2 文件包含
    • 10.3 条件编译
  • 11 结构体、共用体和用户定义类型
    • 11.1 结构体类型变量
    • 11.2 结构体类型数组与指针
    • 11.3 结构体与函数
    • 11.4 用指针处理链表
    • 11.5 共用体
  • 12 位运算
    • 12.1 位运算的概念和运算规则
  • 13 文件
    • 13.1 C文件概述
    • 13.2 文件的打开与关闭
    • 13.3 文件读写
    • 13.4 位置指针的定位
数值在计算机中的表示

学习目标:

 进制的概念

进制之间的相互转换

重点:

   进制之间的相互转换

难点:

   进制之间的相互转换

 

引言:

日常生活中用十进制表示数据,而计算机中采用的是二进制存储数据,同时经常使用两种辅助进制位:八进制和十六进制。

 

 

一、信息在计算机中的表示

计算机中的信息均采用二进制表示。

任何信息必须转换成二进制编码后才能由计算机系统进行处理、存储和传输。

信息的基本单位:比特(bit),0/1两种状态

比特是计算机系统处理、存储和传输信息的最小单位

西文字符需要用8个比特表示,汉字至少需要16个比特才能表示

“字节”,英文为“byte”,它用大写字母“B”表示,1B=8bit

1B=8bits

1KB=1024B=210B

1MB=210KB=220B

1GB=210MB=220KB=230B

1TB=210GB=220MB=230KB=240B

1PB=210TB=220GB=230MB=240KB=250B

 

二、二进制、八进制、十六进制

N进制,表示某一位上的数运算时逢N进一位

(1)十进制数(D):每一位可使用十个不同数字表示(0、1、2、3、4、5、6、7、8、9)

(2)二进制数(B):每一位使用两个不同数字表示(0、1),即每一位使用1 个“比特”表示

 (3)八进制数(O):每一位使用八个不同数字表示(0、1、2、3、4、5、6、7)

(4)十六进制数(H): 每一位使用十六个数字和符号表示(0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F )                                             

 

进制

 
 

逢几进一

 
 

每位数符

 
 

位权

 
 

N位数最大值

 
 

十(D)

 
 

10

 
 

0-9

 
 

10i

 
 

10n-1

 
 

二(B)

 
 

2

 
 

0-1

 
 

2i

 
 

2n-1

 
 

八(O)

 
 

8

 
 

0-7

 
 

8i

 
 

8n-1

 
 

十六(H)

 
 

16

 
 

0-9,A-F

 
 

16i

 
 

16n-1

 

 

三、进制间的相互转换

1、N进制数转换成十进制数

按权求和:各位数符所代表的值乘以对应位的位权再累计求和

例1:n进制数转十进制数



2、十进制数转换成N进制数

除N取余:除N取余至商为零再逆序输出余数

   例2:十进制数转二进制数



3、二进制数与八进制数的相互转换

2到8,三合一;8到2,一分三

                                   

 

3位二进制数

 
 

000

 
 

001

 
 

010

 
 

011

 
 

100

 
 

101

 
 

110

 
 

111

 
 

1位八进制数

 
 

0

 
 

1

 
 

2

 
 

3

 
 

4

 
 

5

 
 

6

 
 

7

 

例3:二进制与八进制数的相互转换



4、二进制数与十六进制数的相互转换

2到16,四合一;16到2,一分四

                                                                       

 

4位二进制数

 
 

0000

 
 

0001

 
 

0010

 
 

0011

 
 

0100

 
 

0101

 
 

0110

 
 

0111

 
 

1位十六进制数

 
 

0

 
 

1

 
 

2

 
 

3

 
 

4

 
 

5

 
 

6

 
 

7

 
 

4位二进制数

 
 

1000

 
 

1001

 
 

1010

 
 

1011

 
 

1100

 
 

1101

 
 

1110

 
 

1111

 
 

1位十六进制数

 
 

8

 
 

9

 
 

A

 
 

B

 
 

C

 
 

D

 
 

E

 
 

F

 

例4: 二进制数与十六进制数的相互转换



5、八进制数与十六进制数的相互转换

通过二进制作为中间数


四、字符的编码

两种重要西文字符编码方式:ASCII码(即美国信息交换标准代码)和EBCDIC码 。

汉字编码:国家标准字符集GB2312-80,国家标准扩展字符集GBK,GB18030-2000字符集,ISO/IEC 10646 / Unicode字符集