1.数据表示:数据表示是计算机硬件能够直接识别,可以被指令系统直接调用的那些数据类型。数据表示是数据类型中最常用,也是相对比较简单,用硬件实现相对比较容易的几种。如定点数(类似于数学中的整数)、逻辑数、浮点数(类似于数学中的实数)、十进制数、字符、字符串、堆栈和向量等。
  2.数据结构:数据结构是面向系统软件,面向应用领域所需要处理的各种数据类型,以及这些数据类型的逻辑结构和物理结构之间的关系。除了数据表示之外的所有数据类型,一般来说都属于数据结构。
  因此,数据表示和数据结构都是数据类型的子集。确定哪些数据类型用数据表示实现,哪些数据类型用数据结构实现,实质上是软、硬件的主要分界面之一,也是计算机系统设计中的软件与硬件的取舍问题。

  如何确定数据表示这个子集是计算机系统结构设计人员要解决的难题之一。从原理上讲,计算机系统只要有了最简单的数据表示,如定点数表示,就能用软件实现其它各种各样的数据类型,包括很复杂的数据类型。例如,能够用定点运算的指令编写的子程序来实现浮点运算,实现逻辑运算,实现十进制运算,实现字符运算,模拟堆栈运算等。当然,这种系统的性能可能很差。相反,如果把许多很复杂的数据类型都用数据表示来实现,系统的硬件代价就会很高。