C语言计算机组成原理,C语言学习-计算机组成原理

1.了解寄存器

寄存器:暂存 指令 地址 数据

MOV   AH  21H

通用寄存器

AX:(accoumulator  ACC):累加器BX:(bas):基址

CX:(count):计数

DX:(data):数据

段寄存器:

CX:(代码段)Code Segment

DX:(数据段)Data Segment

SX:(堆栈段)Stack Segment

EX:(附加段)Extra Segment 指示寄存器:

IP

基于地址基于变量

2.内存存储

bit 位 一个二进制

Byte 字节 八个二进制

1B=8b

千字节:1KB=1024B=2^10B

兆字节:1MB=1024KB=2^20B

吉子节:1GB=1024MB=2^30B

太字节:1TB=1024GB=2^40B

3.进制转换(位运算)

为什么用二进制:

易于物理计算

运算规则简单

可靠性高

通用性强

进制越大数表达长度越短

n进制---->十进制:每位数字乘上权得到乘积之和就是十进制表示的数:

二进制为例:

1    0    0    1

千   百  十   个

3    2   1     0    位数(k)以此类推

1x23+0x22+0x21+1x20=9

3   4     5   Q

百 十  个

2      1       0      K

3*82+4*81+5*80=5+32+192=229;

每位数字乘上权得到乘积之和就是十进制表示的数

每位数字*(n进制)k

K:从右到左,从0开始,依次类推

十进制------->其他进制

辗转相除法

29转换2进制 余数

29/2=14       1

14/2=7 0

7/2=3 1

3/2=1 1

1/2=0 1

以后数据结构:栈里面实现进制转换

29 D=(11101)2

(降幂法)

N=198=(1     1      0    0    0    1      1     0)2

1      2     4    8   16    32    64   128   256

D0   D1     D2    D3    D4   D5   D6    D7   D8

0     1     1      0    0    0    1      1     0

256>198>128      D7=1     198-128=70      128>70>64        D6=1

70-64=6          8>6>4            D2=1     6-4=2           2=2  D1=1

二进制、八进制、十六进制转换

每三位二进制位可以转换为一位八进制、每四位二进制位可以转换为一位十六进制

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

0

1

2

3

4

5

6

7

10

11

12

13

14

15

16

17

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

4.原码、补码、反码

机器数:在计算机中,一个数有二进制表示的数

真值:二进制所要表达十进制数

编码方式:原码  反码   补码

符号位:整数 0 负数 1

机器数=真值(正数)

例:1000 0001但是计算机中-1;通过转换这个不是-1

计算机做一个有符号位的计算

电路复杂度远远加大

计算机中只有+的存在

1-1=0;计算机里面1+(-1)=0

原码:1000 0000负数:反码:符号位不变,其他位取反1111 1111

想要会这种计算,必须记住下面的:

原码:第一位是符号位,其他位表示数值

反码:正数:就是原码

负数:符号位不变,其他取反

补码:正数:就是原码

负数:符号位不变,其他位取反 ,在加1(反码+1)

转码练习:-2  =1000 0010原=1111 1101反=1111 1101反+0000 0001=1111 1110补

原码计算: 0000 0001原 + 1000 0001原=1000 0010原码=-2D

反码计算: 0000 0001反+1111 1110反=1111 1111反=1000 0000原=-0D;

补码计算:0000 0001补+1111 1111补=0000 0000补

5.存储模式

大端模式:地址由小向大增加,而数据从高位往低位放(类似字符串存储)

小端模式:数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中(正常思维)

(不做详细讲解,有兴趣的可以自行找资料学习)

6.逻辑运算符

真值表:成立为真,值为1;不成立为假,值为0.

逻辑与(A&&B)

(联想物理中的电路图,亮灯为1,不亮为0)

a5a466f703d31793343094cac94f9bd3.png

4c799ca1ffe7f89968dbf47a2734733a.png

逻辑或(A||B)

e7ed88fa157ba6d769079c9eeb66a0ba.png2f7b7e51c4124859c7dc25d093e433ac.png

逻辑非(!A)

c9e1cc22976f6a60deb47c735b935f39.png

以上就是我觉得计算机原理中要掌握的一些知识点,欢迎补充,谢谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值