c语言与计算机组成原理的结合
发布网友
发布时间:2022-06-09 02:35
我来回答
共2个回答
热心网友
时间:2023-09-14 01:58
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
二进制、八进制、十六进制转换
每三位二进制位可以转换为一位八进制、每四位二进制位可以转换为一位十六进制
热心网友
时间:2023-09-14 01:58
C语言属于程序开发语言的基础啊。计算机原理组成是计算机的基础课程。