前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >软考第一篇:计算机系统知识

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

作者头像
Java技术编程
发布2020-06-04 17:21:32
4710
发布2020-06-04 17:21:32
举报
文章被收录于专栏:Java技术编程

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

原码

原码的定义如下:数值X的原码记为

[X]_{原}

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

  1. 若X是纯整数:
[X]_{原}= \begin{cases} X, & \text 0 \leq X \leq 2^{n-1} - 1 \\ 2^{n-1} + |X| & \text -2^{n-1} \leq X \leq 0 \end{cases}
  1. 若X是纯小数:
[X]_{原}= \begin{cases} X & \text 0 \leq X < 1 \\ 2^{0} + |X| & \text -1 < X \leq 0 \end{cases}

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

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

[+0_{原}] = 00000000
[-0_{原}] = 10000000

反码

反码的定义如下:数值X的反码记为

[X]_{反}

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

  1. 若X是纯整数:
[X]_{反}= \begin{cases} X, & \text 0 \leq X \leq 2^{n-1} - 1 \\ 2^{n-1} + X & \text -(2^{n-1}-1) \leq X \leq 0 \end{cases}
  1. 若X是纯小数:
[X]_{反}= \begin{cases} X & \text 0 \leq X < 1 \\ 2- 2^{-(n-1)} + X & \text -1 < X \leq 0 \end{cases}

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

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

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

[+0_{反}] = 00000000
[-0_{反}] = 11111111

补码

补码的定义如下:数值X的补码记为

[X]_{补}

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

  1. 若X是纯整数:
[X]_{补}= \begin{cases} X, & \text 0 \leq X \leq 2^{n-1} - 1 \\ 2^{n} + X & \text -2^{n-1} \leq X \leq 0 \end{cases}
  1. 若X是纯小数:
[X]_{补}= \begin{cases} X & \text 0 \leq X < 1 \\ 2 + X & \text -1 \leq X < 0 \end{cases}

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

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

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

[+0_{补}] = [-0_{补}] = 00000000

移码

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

如果机字长为n,规定偏移量为

2^{n-1}

,则移码的定义如下:

  1. 若X是纯整数:
[X_{移}] = 2^{n-1} + X(-2^{n-1} \leq X < 2^{n-1})
  1. 若X是纯小数:
[X_{移}] =1 + X(-1 \leq < 1)

各种码制表示的数值范围

浮点数

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

需要掌握浮点数的运算

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java技术大杂烩 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 原码
  • 反码
  • 补码
  • 移码
    • 各种码制表示的数值范围
    • 浮点数
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档