软考第一篇:计算机系统知识

170 阅读2分钟

最近在复习准备2020下半年的软件工程师考试,在这做个笔记,记录一些知识点吧;后续的所有文章都会首先在公众号上发表,公众号上还有很多源码分析等精美的文章,欢迎大家关注。


该篇主要介绍计算机系统的基础知识,体系结构,安全性,可靠性​和系统性能测评等。 下图是该篇的一个思维导图:


原码

原码的定义如下: 数值X的原码记为,如果机器字长为n(即n个二进制位表示),则原码的定义如下:

  1. 若X是纯整数:


  1. 若X是纯小数:


在原码表示法中,最高位是符号位,0为正数,1为负数,其余的n-1位表示数值的绝对值。

0的原码有两种表现形式:

  1.                         
  2.                         

反码

反码的定义如下: 数值X的反码记为,如果机器字长为n,则反码的定义如下:

  1. 若X是纯整数:


  1. 若X是纯小数:


在反码表示法中,最高位是符号位,0为正数,1为负数。

  • 正数的反码与原码相同。
  • 负数的反码等于其原码的基础上, 符号位不变,其余各位取反.

0的反码有两种表现形式:

  1.                      
  2.                      

补码

补码的定义如下: 数值X的补码记为,如果机器字长为n,则补码的定义如下:

  1. 若X是纯整数:


  1. 若X是纯小数:


在补码表示法中,最高位是符号位,0为正数,1为负数。

  • 正数的补码与原码,反码相同
  • 负数的补码等其反码末尾加1

在补码中,0有唯一的编码:

移码

移码表示码是在数X上增加一个偏移量来定义的,常用于表示浮点数中的阶码。

如果机字长为n,规定偏移量为 ,则移码的定义如下:

  1. 若X是纯整数:
                            
  1. 若X是纯小数:
                            

各种码制表示的数值范围

码制 定点整数 定点小数
原码
反码
补码
移码

浮点数

浮点数所能表示的数值范围由阶码决定,精度由尾数决定。

需要掌握浮点数的运算