机器级表示:数值与非数值数据的二进制编码

版权申诉
0 下载量 46 浏览量 更新于2024-07-03 收藏 3.17MB PPT 举报
"软件工程--02数据的机器级表示.ppt" 本文主要探讨了数据在计算机中的机器级表示,包括数值数据和非数值数据的表示方式,数据的宽度,存储排列以及错误检测和纠正等内容。 首先,我们关注的是信息的二进制编码。在计算机系统中,无论是数值还是非数值数据,都通过二进制编码来表示。这是因为二进制系统具有制造简单、运算规则简洁以及与逻辑运算密切关联的优势。数值数据包括无符号整数、带符号整数、浮点数(实数)和十进制数;而非数值数据则包括逻辑数(位串)、西文字符和汉字。在C语言中,无符号整数和有符号整数属于数值数据,而像图、树、链表等结构化数据描述以及文字、图像、声音、视频等多媒体信息则属于非数值数据。 接着,我们讨论了数值数据表示的三个关键要素:进位计数制、定/浮点表示以及二进制编码。进位计数制主要包括十进制、二进制、八进制和十六进制,它们之间可以相互转换。定点数和浮点数用来处理小数点的问题,定点数分为定点整数和定点小数,而浮点数则由一个定点小数(尾数)和一个定点整数(阶码)共同表示。对于定点数,还需要解决正负号的表示,这就涉及到原码、补码、反码和移码的编码方式,其中反码较少使用。 真值和机器数的概念在数值数据表示中也非常重要。机器数是指实际存储在计算机中的二进制形式,而真值则是这个二进制形式所代表的真实数值。例如,机器数01011001的值取决于其表示方式(如补码、原码等)和进位计数制。 非数值数据的表示主要包括逻辑数据的二进制编码,例如,0表示假,1表示真。对于西文字符和汉字,通常使用ASCII码或Unicode编码来表示,其中ASCII码适用于西文字符,而Unicode能够涵盖更广泛的字符集,包括汉字和其他语言的字符。 数据的宽度指的是每个数据项占用的位数,这直接影响到数据的精度和存储空间。存储排列则涉及到内存中数据元素的顺序和组织方式,对于不同类型的数据,其存储方式可能有所不同。 最后,纠错和检错技术在确保数据传输和存储的可靠性方面扮演着重要角色。例如,奇偶校验位、CRC校验和更复杂的校验码如Hamming码,都是用来检测并可能纠正数据传输过程中的错误。 总结来说,数据的机器级表示是软件工程中不可或缺的基础概念,它涵盖了数据的二进制编码、数值和非数值数据的表示方法、数据宽度、存储排列以及错误检测和纠正机制。理解这些概念对于编写高效、可靠的计算机程序至关重要。