文章目录
一、计算机中的数据类型
计算机中有很多数据类型如图,表,树,队列,链表,堆…我们把数据类型分为数据表示和数据结构
1.数据表示
数据类型中比较常用,比较简单,用硬件实现相对比较容易的几种
2.数据结构
面向系统软件和实际应用中用到的数据类型和它们的逻辑及物理结构之间的关系
二、数据表示
我们在计算机组成原理这门课中主要是确定哪些数据类型用数据表示来实现
遵循的三个主要原则
- 尽量缩短程序运行时间
- 减少cpu与主存储器之间通信量
- 这种数据表示的通用性和利用率
三、三种信息表示
1.无符号数

表示方法
- 进位计数制
- 8421码 (BCD码,Binary Coded Decimal)
- 一种十进制编码方法
- 用4位二进制数0000-1001表示一位十进制数
- 超过1001的编码非法
- 格雷码
- 格雷码有很多种表示
- 但是任意两个相邻数字的格雷码仅有一位不同
- 用以减少由一个状态到下一个状态时逻辑的混淆
- 不容易误码
2.有符号数

定点数
- 定点整数(纯整数)
- 定点小数(纯小数)
表示一个数的符号:最高位0正1负
定点数的原码表示



问题:
- 加法有可能出错,一正一负或两个负数
- 0有两种表示
- 1000正0
- 0000负0
- 因此表示数据个数才是2N-1

定点数的补码表示
用原码进行减的操作太麻烦
因此有了补码,变减法为加法
- 正数补码:符号用0表示,数值和原码一样(其实正数不需要有补码)
- 负数补码:符号用1表示,数值部分为原码按位取反,末位加1

对数据求补
即求一个数的相反数的补码
无论正数还是负数,每一位都取反(包括符号位),末位加1
- 正数的补码和原码相同,可以直接求十进制值
- 负数的补码可以先对其求补得它的相反数的补码,再求十进制值
1001->0111 = 7
1001 = -7 - 0只有一种补码表示,0000,对它求补还是0000,它被认为是正数,因为符号位为0,所以补码的负数比正数多一个
- 最小的负数是1000…000 = -2N-1,又叫怪异数,因为把它求补还是它自己,所以这个负数没有对应的正数

扩展位
-
符号扩展:一般用于有符号数
将符号复制到高位,扩展后数值相同

-
零扩展:一般用于无符号数
将0复制到高位,扩展后负数的数值将产生变化

3.位串

计算机中的信息表示:数据类型与表示方法
本文探讨了计算机中的数据类型,包括数据表示和数据结构。数据表示遵循缩短程序运行时间、减少通信量和提高通用性的原则。重点介绍了无符号数和有符号数的表示,尤其是定点数的原码和补码表示,以及求补操作。位串的概念也被提及,它是计算机中存储和处理信息的重要方式。
1756

被折叠的 条评论
为什么被折叠?



