码迷,mamicode.com
首页 > 其他好文 > 详细

《软件设计师》1

时间:2016-10-08 19:57:27      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:

任何进制转成十进制,使用按权展开法,注意小数点。

 

十进制转成任意进制,使用短除法。

 

1个字节有8个位,每位分别用二进制的0和1来表示。分为无符号数和有符号数,下面以有符号数来说明,有符号数最高位是符号号,0表示正,1表示负。

原码:1 表示 0000 0001     -1表示 1000 0001  相加得  1000 0010 ,相当于-2,所以原码不直接用作计算。

反码:如果是正数,则与原码相同;如果是负数,除符号位之外,所有位在原码基础上反转, 如 1表示 0000 0001 , -1表示 1111 1110, 相加得 1111 1111,该值为负数,取其原码,则是 1000 0000,得出 -0,结果正确,但仍然有点古怪。

补码:如果是正数,则与原码、反码相同,如果是负数,则在反码基础上+1,比如 1表示为 0000 0001, -1 表示 1111 1111,相加得 1 0000 0000 ,即是 0,这个看上去最符合我们想要的结果。

移码:一般用于浮点运算中的接码,不管是正数还是负数,移码都是在补码基础上将首位取反。比如1表示为 0000 0001, -1表示 0111 1111,相加得 1000 0000,即 -0。

 

表示范围:

原码和反码的范围相同,补码比原码和反码的取值范围大1,这是因为补码的0只有0000 0000 这一种形式,而原码和反码的0有  0000 0000 和 1000 0000 两种形式。

原码和反码:  -(2^(n-1) - 1) ~ 2^(n-1) -1

补码: -2^(n-1) ~ 2^(n-1) -1

其中 n 表示位数,比如8位,原码和反码的范围是 -127~127,补码范围是 -128~127

 

浮点数:

浮点数表示 N = M * R^e

其中,M称是尾数,e 是指数, R是基数。尾数使用一位非0数表示。

浮点数运算时,有三个步骤:对阶、尾数计算、结果格式化。

比如  0.123 * 10^2  + 0.1 * 10^3 会先转成  0.0123 * 10^3 + 0.1 * 10^3 转成 (0.0123+0.1) * 10^3 = 0.1123 * 10^3 = 1.123 * 10^2

 

主机:这里的主机实际只包含CPU和内存

CPU包括运算器和控制器

其中运算器包括4个部分:

1、算术逻辑单元ALU

2、累加寄存器AC

3、数据缓冲寄存器DR

4、状态条件寄存器 PSW

控制器包括4个部分:

1、程序计数器 PC

2、指令寄存器IR

3、指令译码器

4、时序部件

 

《软件设计师》1

标签:

原文地址:http://www.cnblogs.com/tianyajuanke/p/5939254.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!