C语言插本自学篇

🚀1.c语言知识点🚀
🚀2.计算机的存储🚀
🚀3.c语言的数据类型🚀
🚀4.常量与变量🚀
🚀5.数据类型转化🚀

2. 计算机的存储

一、计算机中的存储单位

1、计算机的存储单位

定义:在计算机内部,数据以二进制的形式存储和运算。任何形式的数据,输入到计算机种都碧血惊喜0和1的二进制编码转化

数据的最小单位是二进制的一个一个数位,记为bit或者b

为了度量信息存储容量,将8位二进制码(8bit)称为一个字节(Byte 简称B),

字节是计算机种数据处理和存储容量的基本单位

2、不同存储单位间的换算

单位换算
1Byte 8bit 有一个字节由8位进制组成
1KB 1024Byte 20^10B
1MB 1024KB 2^20B
1GB 1024MB 2^30B
1TB 1024GB 2^40B

3、地址编号

存储器包含很多存储单位,操作系统吧所有单位以字节(B)为单位进制编号,这个编号称为地址,在计算机中,可以根据存储器的地址编号计算数据的存储容量

二、进制及其转化

1、进制

数码 基数 位权 尾符
二进制 0~1 2 2^n B
八进制 0~7 8 8^n O/Q
十进制 0-9 10 10^n D
十六进制 0~9,A~F 16 16^n H
基本概念
数码: 进制数的表示符号
基数: 进制数数码的个数
位权: 基数位
尾符 区分进制数的表示

2、十进制位权符和数码

😎位权的标识:n —-> 小数以前 从 0开始 ,小数点以后 从 -1 开始

0107 —-表示—-> 107Q 八进制

0x107 —-表示—-> 107H 十六进制

2、非是进制数转十进制数

例如:1101B = 11D

1*2^3+1*2^2+0*2^+1*2^0

3、十进制转非十进制数

十进制转二进制

​ 例如:

​ 13D = 1101 B

/ 使用短除法

被除数/除数 = 商 / 余数

13/2 = 6 余 1

6/2 = 3 余 0

3/2 = 1 余 1

1/2 = 0 余 1

—-倒叙输出—— 1101B

十进制转八进制

十进制转十六进制

小数部分

4 二进制和八进制的转化

二进制 八进制 二进制 八进制
000 0 100 4
001 1 101 5
010 2 110 6
011 3 111 7

通过权值计算转化(421f方法)

5 二进制转十六进制的转化(8 4 2 1法)

三、二进制数的算术、逻辑运算

(一)算术运算

  1. 加法
    1. 运算规则 : 逢二进一
    2. 0 + 0 = 1 1+0 = 1 1+ 1 = 10 (高位进位)
  2. 减法
    1. 运算规则 : 借一为 二
    2. 0 - 0 = 0, 1 - 1 = 0 , 1 - 0 =1 ,10 - 1 = 1

(二) 逻辑运算

  1. 逻辑与
    1. 运算符: ^ 或者 AND 或者 &
    2. 运算规则: 一假则假
    3. 二进制 中 1 表示 真 , 0 表示 假
    4. 101101 ^ 110100 = 100100
  2. 逻辑或
    1. 运算符: Ⅴ 或者 OR 或者 |
    2. 运算规则: 一真即真
    3. 10110101 V 10101010 = 10111111
  3. 逻辑非
    1. 运算符: - 或 NOT 或者 !
    2. 运算规则: 真亦假时假亦真 (取反)
    3. 弹幕运算符
    4. -1011011 = 0100100
  4. 异或
    1. 运算符:⊕ 或 XOR 或者 ^
    2. 运算规则: 相同为 0 ,不同为 1
    3. 10110101⊕10101100 = 00011001

小结

1
2
3
4
5
6
7
1.非十进制数转非十进制数: 每位上的数码 * 基数位 求和
2.十进制数转非十进制数
整数部分:除N取余数,商为0时,将余数部分倒叙输出
小数部分:乘N取整数,积为0时,将整数部分正序输出
3.二进制和八进制的转化,每3位二进制数等价于1位八进制数(421法)
4.二进制和十六进制的转换: 每4位二进制数等价于1位十六进制数(8421法)