C语言进制

C语言进制

1、计算机运行的顺序

C语言进制

第一步:输入设备-->主存储器 控制器判断贮存中是不是有数据 有数据等待

第二步:主存储器-->运算器 控制器判断运算器是不是在进行运算 运算等待

第三步:运算器-->主存储器 控制器判断贮存中是不是有数据 有数据等待

第四步:主存储器-->输出设备 控制器判断输出设备是不是在忙 有的话等待

CPU:运算器、控制器

? 控制器:不参与计算机的计算过程,但是在整个过程中起支配作用。皇帝。

? 运算器:运算单元:做各种运算。

寄存器:用来保存运算过程中的中间变量。

C语言进制

寄存器:

通用寄存器、段地址寄存器、指示寄存器

1024程序员的节日:位(bit)和字节(Byte)

位:一个二进制位

字节:8个二进制

1B=8bit

1 KB = 1024 B = 2的10次方B

1 MB = 1024 KB = 2的20次方B

1 GB = 1024 MB = 2的30次方B

1 TB = 1024 GB = 2的40次方B

总结:5大模块 4个步骤 CPU 位和字节

2、进制

十进制:0 1 2 3 4 5 6 7 8 9由这些数字组成的数就是十进制

二进制:0 1 由这些数字组成的数就是二进制

八进制:0 1 2 3 4 5 6 7由这些数字组成的数就是八进制

十六进制:0 1 2 3 4 5 6 7 8 9 A B C D E F由这些数字组成的数就是十六进制“半斤八两”17两=1斤1两

十进制和二进制加法:

C语言进制

十进制运算:

0+0=0 0-0=0 0*0=0 0/1=0

0+1=1 0-1=-1 0*1=0 1/1=1

1+0=1 1-0=1 1*0=0

1+1=2 1-1=0 1*1=1

二进制:

0+0=0 0-0=0 0*0=0 0÷1=0,

0+1=1 0-1=1 0*1=0 1÷1=1

1+0=1 1-0=1 1*0=0

1+1=10 1-1=0 1*1=1

各个进制之间的转换关系

二进制0000000100100011010001010110011110001001101010111100110111101111
八进制012345671011121314151617
十进制0123456789101112131415
十六进制0123456789ABCDEF

2.1 十进制转二进制:

辗转相除,逆向排序:(就是每回除二,取余数,结果倒排)

C语言进制

2.2 二进制转十进制:(位权相加)

C语言进制

1、先算出2进制数的位数

2、每一个位上面的数值(0,1)乘上2的(位-1)次方。 (位-1)

3、求和。

? 注(少年):2的0次方是1。

二进制:10------------2(十进制)

? 100----------4

? 1000--------8

? 10000------16

? 100000----32

? 1000000-----64

? 10000000------128

? 100000000------256

? 1000000000 ----512

520 = 512+8 --->1000000000 1000 ---->1000001000

十进制和八进制、十进制和十六进制。

十进制转八进制:辗转相除,逆向排序 (除8)

十进制转十六进制:辗转相除,逆向排序 (除16)

八进制转十进制:

十六进制转十进制:

二进制转十进制:

C语言进制

D 要求得的十进制

X 位上面的数值

n 从右往左的位

B 要转换的(二 八 十六)进制

C语言进制

2.3 二进制<----->八进制

? 3位变1位(从右往左)

? 1位变3位(如果转化出来不足3位,在前面补足3位)

C语言进制

2.4 二进制<----->十六进制

? 4位变1位(从右往左)

? 1位变4位(如果转化出来不足4位,在前面补足4位)

C语言进制

总结:

1、十进制转化为其他进制(辗转相除)

2、其他进制转化为十进制(位权相加)

3、二进制和8进制(3位1位)

4、二进制和十六进制(4位1位)

5、八进制和十六进制(间接转)

?