软考之路(三)—组成原理[通俗易懂]

2022-07-08 19:25:57 浏览数 (1)

大家好,又见面了,我是全栈君。

计算机的基本硬件系统由运算器、控制器、存储器、输入设备、输出设备5大部件组成。计算机组成原理是计算机的底层内容的学习,了解学习它,对今后解决这个问题从根本上非常轻松的理解,然而在学习这块地内容时遇到了非常多关于进制的计算、系统来回处理数据的分析,都是相当不错的。非常有意思。主要是计算的语言里面仅仅有0、1,勾勒出了这么色彩缤纷的世界,真的是太奇妙啦,让我们通过学习这些基础内容来从还有一个角度来认识计算机。同一时候思考人类的智慧的结晶多么的不可深測,算法的巧妙,虽然引入了非常多的内容都是在为了更好的服务我们人类的生活、工作,我们能够结合生活中去理解它、使用它,相信对我们的影响不简单就是0、1,而是很多其它人类思维的转变、创造。

知识概览1:

知识概率2

易混易错点

数在计算机中的表示方法及编码–

易混易错点

计算机中的信息不仅有数据。还有字符、命令,当中数据还有大与小、正数与负数之分。计算机是怎样用“0”或“1”。来表示这些信息的呢?

1.计算机中数的表示形式

在计算机中,仅仅有数码1和0两种不同的状态,对于一个数的正、负号,两种不同状态,约定正数的符号用0表示,负数的符号用1表示,将符号位放在数的最左边。比如:N1=+1011,N2=-1011。因为MCS—51为8位单片机。即信息是以8位为单位进行处理的,且每一个存贮单元仅仅能存贮—个8位的二进制数,称为一个字节,假设用一个字节(即8位二进制数)来表示上述两个符号数,它们在单片机中可分别表示为:00001011和10001011,当中最高位为符号值,其余位为数值位。

最高位为0表示是正数,最高位为1表示是负数。

这样的计算机用来表示数的形式叫机器数。而把相应于该机器数的算术值叫真值。

值得注意的是:机器数和真值的面向对象不同。机器数面向计算机,真值面向用户,机器数不同于真值。

但真值能够用机器数来表示。

机器数是计算机中表示数的基本方法,机器数通常有原码、反码和补码三种形式。

(1)原码表示方法

用8位二进制数表示数的原码时,最高位为数的符号位,其余7位为数值位。

比如:真值为+120和-120的原码形式

[+120]原=01111000

[-120]原=11111000

对于零,能够觉得它是正零,也能够觉得它是负零,所以零的原码有两种表示形式:

[ 0]原=00000000

[-0]原=10000000

8位二进制数原码表示范围为:11111111~01111111。即-127~+127。

(2)反码表示方法

在反码表示方法中,正数的反码与原码同样。负数的反码由它相应原码除符号位之外。其余各位按位取反得到。比如:

[+120]反=[ 120]原=01111000

[-120]反=10000111

零的反码有两种表示方式,即:

[+0]反=00000000

[-0]反=11111111

8位二进制数反码表示范围为:10000000~01111111,即-127~+127。

(3)补码表示方法

补码的概念:先以钟表对时为例。如果如今的标准时间为5点整,而有一仅仅表却已是7点,为了校准时间,能够採用两种方法:一是将时针退2格,即7-2=5。一是将时针向前拨10格。即7+10=12(自己主动丢失)+5,都能对准到5点。可见,减2和加10是等价的,我们把(+10)称为(-2)对12的补码。12为模,当数值大于模12时能够丢弃12。

在字长为8位的二进制数字系统中。模为28=256,先看看下例:

01000000 64 01000000 64

+11110110 +246 -00001010 -10

1 00110110 54 1 00l10110 54

由此可见。在字长为8位情况下(64-10)与(64+246)的结果是同样的,所以(-10)和246互为补数。

在补 码表示方法中,正数的补码与原码同样。负数的补码由它相应原码除符号位之外,其余各位按位取反且末位加一得到。比如:

[+120]补=[ 120]原=01111000

如今我们看一看(-10)的补码11110110如何求得。

正数的补码表示方法与原码同样

负数的补码求法:

1)利用反码求补码:反码加1。

如:

[-10]原=100010l0

[-10]反=11110101

[-10]补=11110110

2)利用原码求补码(直接求补法):找出原码中数值位的最右边的一个“1”,将这个“1”以及这个“1”右边各位保持不变。而将这个“1”左边各位按位取反。但符号位不变。

如:

[-10]原=100010l0

[-10]补=11110110

採用补码表示数,可将减法运算转换成加法运算。在补码表示法中,零的补码仅仅有一种表示法,即 [ 0]补=[-0]补=00000000。对于八位二进制数而言,补码能表示的数的范围为-128~+127。

【例1-10】已知X= 1010B,Y=-1010B,写出它们的原码、反码和补码形式。

[ 1010B]原=00001010B [-1010B]原=10001010B

[ 1010B]反=00001010B [-1010B]反=11110101B

[ 1010B]补=00001010B [-1010B]补=11110110B

这些都非常easy,主要是考我们的细心程度,这两天体会到学习了自考看软考是轻松了。可是不得掉以轻心。自考考的是側重于记忆性的知识点多一些,而软考靠的是对问题的认识、分析、理解。对问题的认识我们要从根本上学习、理解,我们本该追本溯源。

对今后的学习相同也是,多问些为什么?往往能收到很多其它意想不到的说服自己的知识,那种感觉就是心里非常舒服、非常爽、也带劲。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/115977.html原文链接:https://javaforall.cn

0 人点赞