计算机组成|进制转换|浮点数
硬件组成
-
中央处理器组成:CPU central processing unit 运算器(负责运算)+控制器(负责逻辑)+寄存器组(多个到上千个)+ 内部总线(主要是传输数据)
-
中央处理器功能:程序控制 时间控制 数据处理 操作控制
-
运算器组成:算数逻辑单元ALU 累加寄存器AC 数据缓冲寄存器DR 状态条件寄存器 PSW
-
运算器功能:算数运算和逻辑运算(或 与 非)
-
控制器组成: 指令寄存器IR(暂存CPU执行指令) 程序计数器PC(存放指令执行地址) 地址寄存器AR(保存当前CPU所访问的内存地址) 指令译码器ID (分析指令操作码)
-
控制器功能:控制CPU工作,程序控制 时间控制等
进制转换
R 进制转 10进制
假如是6进制的 1325
5*6^0 + 2*6^1 + 3*6^2 + 1*6^3 = 5 + 12 + 108 + 216 = 341
10进制 转 R进制 除以R 取余数 直到 0为止 然后从左到右排列数组
假如10进制数是200 转 6 进制
200/6 = 33 余 2 33 /6 = 5 余 3 5 / 6 = 0 余 5 532
如果要m转n 则通过10进制中转
2 转 8 不需要 但是位数需要时3的倍数 因为每三位二进制能得到一个8进制
比如 1001011 转 8进制
001 001 011 1 + 1 + 2 = 113
2 进制转 16 位数是4的倍数
比如 0100 1011 转 16进制
4B
以此类推 32 进制 位数是5的倍数 比如 1001011 转 32进制
00010 01011 2B
假如这里是4位的二进制(所有的码)
原码 一个数的正常二进制,最高位代表符号
反码 :正数的反码是原码,负数的反码是符号位不变,其他按位取反 0 反码有 0000 和 1000
补码 : 正数的补码是原码,负数的补码是反码+1 0000 和 1000 -> 1111 -> 0000 所以补码的0只有一个
移码 : 补码的符号位取反 1000
包含多少个数字,假如我们是x进制,y位,也就是字长是y
假设x =2 y= 3 也就是二进制 字长三位
原码 : 负x的y-1次方减1 ~ 正x的y-1次方减1 -3 ~ 3 至于为什么减1 是因为从0开始
反码 : 负x的y-1次方减1 ~ 正x的y-1次方减1 -3 ~ 3
补码 : 负x的y-1次方 ~ 正x的y-1次方减1 -4 ~ 3
移码 : 负x的y-1次方 ~ 正x的y-1次方减1 -4 ~ 3 为什么不减1 是因为补码和移码没有-0 所以从-1开始
浮点数
浮点数表示方法
N=F *2^E (E代表阶数是带符号的纯整数,影响范围 F为代表尾数是带符号的纯小数,影响精度)
浮点数表示格式
阶符 阶数 数符 尾数 (阶符是阶数的符号+-, 数符是 尾数的符号+-)
尾数的表示采用规格化方法,正数的为 0.1xxxxxx 负数的为 1.0xxxxxx x可以为1或者0
浮点数运算分为三步 对阶(小阶转大阶,尾数右移)—— 尾数计算 ——结果格式化