yayxs / computer-organization-learn

前端学习计算机组成原理 / Computer Organization

Home Page:https://computer-organization.vercel.app/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

blog

《CSAPP》

  • 信息就是:位 + 上下文 其中位又被叫做比特

  • 字节:8 个位被组织在一组,称为字节

  • 系统的硬件组成:

    1. 总线:一组电子管道
    2. IO 设备
    3. 主存:主存是临时存储设备
    4. 处理器:
  • 操作系统管理硬件:

  • 进程:进程是操作系统对一个正在运行程序的一种抽象

  • 线程:一个进程实际上可以由多个称为线程的执行单元组成

  • 文件:文件就是字节序列

  • 无符号编码:基于传统的二进制表示法,表示大于或者等于零的数字

  • 补码编码:表示有符号整数的最常见方式

  • 有符号整数:可以为正或者为负的数字

  • 浮点数编码:表示实数的科学计数法的

  • 信息存储:大多数计算机使用 8 位的块 或者字节

    十六进制数字 0 1 2 3 4 5 6 7 8 9 A B C D E F
    十进制值 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
    二进制值 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
  • 字数据大小

  • 寻址和字节顺序

  • 表示字符串

  • 补码编码:

    • 有符号数的计算机表示方式就是补码形式

    原码 反码 与补码

原码

最左边的二进制位表示正数还是负数

0 表示正数 1 表示负数

使用n个二进制位表示数字的时候,两个数之和为 2^n

如何求一个二进制的补数

在限定了使用 3 个二进制位表示数字之后,想求101 的补数 使用 2 的 3 次方 就是 8,就是 1000

1000

  • 101

    011

使用111 减去 101

111

  • 101 010

步骤一:先计算由 n 个 1 组成的二进制数字 2^n-1 减去该数的值 步骤二:将上一步骤的结果加 1

取反加1 :将二进制数的每一个二进制位都做取反操作 然后再加 1

假设 x 的值是1101 0111 ,y 的值是 1001 0001,求 x-y 的差

1101 0111 1001 0001

1111 1111 1001 0001 0110 11 10 0110 1111

被减数(1101 0111) + 取反加 1 后的值(0110 1111)

1101 0111 0110 1111 0

在做使用 n 个二进制位表示的数字之间的减法操作时,减去一个等于加上这个数的补数然后再减去 2 的 n 次方 减去 2 的 n 次方相当于直接把两个加数的最高有效位相加时的进位忽略掉,得到的就是原加法的值

补码

js负值以一种二补数(补码)的二进制编码存储 1、确定 -18 |-18| 10010 2、01101

问题汇总


4、什么是有符号数?
针对二进制来说
0(0代表符号 )111, 1111(真值)

其中+10的八位二进制原码 0, 000, 1010
那么-10的八位二进制原码 1, 000, 1010

什么是无符号数?

无符号数是相对有符号数,整个机器字长的去阿奴二进制表示数值位


什么是原码?

什么是左移 <<

左移后空出来的低位使用 0 补上

什么是补码?有什么用?

进制的转换问题?


什么是左移 <<

About

前端学习计算机组成原理 / Computer Organization

https://computer-organization.vercel.app/


Languages

Language:JavaScript 86.8%Language:HTML 11.0%Language:TypeScript 2.2%