计算机数据表示:非数值与数值数据

需积分: 21 35 下载量 199 浏览量 更新于2024-08-04 收藏 17.19MB PPTX 举报
"这份PPT是华中科技大学计算机组成原理课程的第二章,主题为‘计算机数据表示’,涵盖了非数值数据和数值数据的表示方法,以及数据信息的校验。PPT详细介绍了不同类型的数值数据在C语言和汇编语言中的表示,包括整数和非整数(实数),并提及了相关的数据类型定义。此外,还特别讨论了字符表示法,如ASCII码和Unicode,以及它们在数据存储和传输中的应用。" 在计算机科学中,数据表示是核心概念之一,因为它决定了计算机如何存储和处理信息。以下是详细的知识点解释: 1. **非数值数据表示法**: - **字符表示法**:字符数据通常用特定编码来表示,例如ASCII和Unicode。ASCII是最基础的编码,使用7位二进制数表示128个不同的字符,包括字母、数字、标点符号和控制字符。尽管ASCII是广泛支持的,但它不足以表示所有语言的字符,特别是那些包含象形文字的语言,如中文。 2. **数值数据表示法**: - **整数**:在C语言中,整数有不同的类型,如`char`, `short`, `int`, `long`, `long long`,分为带符号和无符号两种。这些类型对应不同的位宽,例如`int8_t`代表8位的整数,`int32_t`则代表32位的整数。在汇编语言中,数据类型可能不像高级语言那样明确,但可以通过字节大小来指定。 - **非整数(实数)**:实数,如浮点数,在C语言中由`float`和`double`类型表示。它们遵循IEEE 754标准,分别提供单精度和双精度的精度。 3. **数据信息的校验**:为了确保数据的准确性和完整性,计算机系统使用各种校验方法,如奇偶校验位、CRC(循环冗余校验)和校验和等,来检测传输或存储过程中可能出现的错误。 4. **8位和最高有效位(MSB)**:在ASCII编码中,由于使用7位表示字符,所以8位的字节的最高有效位(MSB)通常是0。这在多字节字符编码如Unicode中尤其重要,其中MSB用于区分不同字符集的字节顺序,如UTF-8的字节顺序标记(BOM)。 5. **汇编语言的数据类型**:虽然汇编语言不像C语言那样有预定义的数据类型,但是通过字节宽度和字节排列,程序员可以指定数据的大小和格式。 6. **C99的stdint.h**:这个头文件定义了一组具有固定宽度的整数类型,如`int8_t`到`uint64_t`,使得跨平台的位宽定义更加方便。 计算机数据表示的深入理解对于编程、硬件设计以及计算机系统的性能优化至关重要。它涉及到二进制、进制转换、溢出处理、浮点运算等多个层面的知识,是计算机科学的基础。