计算机组织中操作数的类型

17 Mar 2025 | 6 分钟阅读

计算机指令是一种二进制代码,它确定计算机的微操作序列。它们与信息一起保存在内存中。每台计算机都有其特定的指令组。它们可以分为两个元素:操作码 (Opcodes) 和 地址。操作码指定特定指令的操作,而地址确定用于该操作的寄存器或区域。

操作数是计算机指令的明确元素,它们显示要操作的信息。最重要的数据通用类别是

  1. 解决
  2. 数字
  3. 字符
  4. 逻辑数据

在许多情况下,必须对操作数引用执行一些计算以确定主内存或虚拟内存地址。

在此上下文中,地址可以被视为无符号整数。其他常见的数据类型是数字、字符和逻辑数据,这些类型将在下面简要介绍。有些机器定义了专门的数据类型或数据结构。例如,机器操作可以直接对列表或字符串字符进行操作。

Types of Operands in Computer Organization

解决

地址不过是一种数据形式。这里必须对指令中的操作数引用执行一些计算,以确定指令的物理地址。

数字

所有机器语言都包含数字数据类型。即使在非数值数据处理中,也需要数字作为计数器、字段宽度等。普通数学中使用的数字与计算机中存储的数字之间的一个重要区别在于后者是有限的。因此,程序员必须理解舍入、溢出和下溢的后果。

以下是计算机中三种类型的数值数据,例如

Types of Operands in Computer Organization

1. 整数或定点数:定点表示用于存储整数,即正负整数(... -3, -2, -1, 0, 1, 2, 3, ...)。但是,程序员为每个数字分配一个基点位置,并通过每个操作跟踪基点。C 和 BASIC 等高级程序通常分配 16 位来存储每个整数。每个定点二进制数都有三个重要的参数来描述它

  • 数字是有符号还是无符号,
  • 基点在符号位右侧的位置(对于有符号数),或基点在最高有效位的位置(对于无符号数)。
  • 以及存储的小数位数。

2. 浮点数:浮点数通常有小数点,这意味着 0、3.14、6.5-125.5 都是浮点数。

术语浮点来源于小数点前后数字位数不固定,即小数点可以浮动的事实。也有表示小数点前后数字位数固定的表示法,称为定点表示法。一般来说,浮点表示法比定点表示法慢且不准确,但它们可以处理更大范围的数字。

3. 小数:小数是我们数系的扩展。我们也知道小数可以看作是分母为 10、100、1000 等的分数。以小数形式表示的数字称为小数或十进制数。例如:1、4.09、13.83 等。小数有两个部分,由一个点 (.) 分隔,称为小数点

  • 整数部分:位于小数点左侧的数字构成整数部分。位值从个位、十位、百位、千位等开始。
  • 小数部分:小数点和位于小数点右侧的数字构成小数部分。位值从十分位、百分位、千分位等开始。

字符

常见的数据形式是文本或字符串。虽然文本数据对人类来说最方便。但计算机以二进制工作。因此,所有字符,无论是字母、标点符号还是数字,都以二进制数字存储。计算机可以使用的所有字符统称为字符集。以下是两种常见的标准,例如

  1. 美国信息交换标准码 (ASCII)
  2. Unicode

ASCII 使用七位,提供 128 个字符集。这些字符以一个名为 ASCII 表的表格表示。128 个字符包括

  • 32 个控制码(主要与打印有关)
  • 32 个标点符号、符号和空格码
  • 26 个大写字母
  • 26 个小写字母
  • 数字 0-9

我们可以说字母“A”是字母表的第一个字母;“B”是第二个,依此类推,直到“Z”,它是第 26 个字母。在 ASCII 中,每个字符都有其自己的指定数字。ASCII 字符的十进制、二进制和十六进制表示如表所示。

Character十进制二元十六进制
A65100000141
Z9010110105A
a97110000161
z12211110107A
048011000030
957011100139
Space (空格)32010000020
!33010000121

A 用十进制数 65 (二进制 1000001,十六进制 41) 表示,B 用 66 (二进制 1000010,十六进制 42) 表示,依此类推,直到 Z,用十进制数 90 (二进制 1011010,十六进制 5A) 表示。

类似地,小写字母从十进制 97 (二进制 1100001,十六进制 61) 开始,到十进制 122 (二进制 1111010,十六进制 7A) 结束。当数据存储或传输时,使用的是其 ASCII 或 Unicode 数字,而不是字符本身。

例如,单词“Computer”将表示为

1000011 1101111 1101101 1110000 1110101 1110100 1100101 1110010

另一方面,IRA 在美国以外也广泛使用。此代码中每个字符都由一个唯一的 7 位模式表示。因此,可以表示 128 个不同的字符,这比表示可打印字符所需的字符多,并且有些模式表示控制字符。一些控制字符控制页面上字符的打印,另一些则与通信过程有关。

IRA 编码字符始终使用每个字符 8 位进行存储和传输。第 8 位可以设置为 0 或用作奇偶校验位进行错误检测。在后一种情况下,该位被设置,使得每个八位字节中二进制 1 的总数始终为奇数(奇偶校验)或始终为偶数(偶校验)。

逻辑数据

通常,每个字或其他可寻址单元(字节、半字等)都被视为一个单独的数据单元。有时,将一个 n 位单元视为由 1 位数据项组成是有用的,其中每个数据项的值为 0 或 1。当数据以这种方式看待时,它们被视为逻辑数据。

布尔数据只能表示两个值:真或假。尽管只有两个值可能,但出于效率原因,它们很少被实现为单个二进制数字。许多编程语言没有显式的布尔类型,而是将 0 解释为假,其他值解释为真。布尔数据指的是语言如何被解释为机器语言的逻辑结构。在这种情况下,布尔 0 指的是逻辑假,真总是非零值,特别是被称为布尔 1 的值。

位导向视图有两个优点

  • 我们可能希望存储一个布尔或二进制数据项数组,其中每个项只能取值 0 和 1。使用逻辑数据,内存可以最有效地用于此存储。
  • 有时我们希望操纵数据项的位。