数值型数据的表示

一、进位计数制
1.进位计数制的基本概念
  凡是按照进位的方式计数的数制称为进位计数制,简称为数制。生活中我们常用十进制计数,有些情况下我们也使用其他进制,比如使用六十进制表示时间中的小时.分、秒的计数。
  各种进位计数制可统一表示为:

在这里插入图片描述

各参数说明:
R——某种进位计数制的基数。
i——位序号。
Ki—— 第i位上的一个数码,为0 ~(R- 1)中的任-一个。
R^i——则表示第i位上的权。
m ,n——最低位和最高位的位序号。

  数制中的三个基本名词术语:
  数码——用不同的数字符号来表示- .种数制的数值,这些数字符号称为“数码”。例如,十进制的数码有0、1、2、3、4、5、6、7、8、9,而二进制的数码只有0和1。
  基数——数制所使用的数码个数称为“基数”,简称“基”。所以某种进位制中,基数是会产生进位的数值,也就是每个位数中所允许的最大数码值加1。例如,十进制中,每位上的数码允许选用0~9这10个数码中的一个,十进制数制的基数就等于10。而二进制的每位上的数码允许选用0或1两个数码中的一个,二进制数制的基数就等于2。
  位权——一个数码在不同的数位上时所表示的数值是不同的,例如,在十进制中,个位上的1代表1X10^0,而百位上的1则表示1X10^2。 某数制各位所具有的值称为“位权”,简称“权”。该位数码所表示的数值就等于该数码本身的值乘以该位的权值。
例如:十进制数123456.7 可以表示为:
123456.7=1X10^5+2X10^4+3X10^3+4X10^2+5X10^1+6X10^0+7X10^(-1)

2.计算机科学中常用的记数制是二进制、八进制、十六进制。这里我就不一一赘述了。
二、无符号数
  计算机CPU中寄存器是用来存放数据的,通常称寄存器的位数为CPU的机器字长。所谓无符号数,就是没有符号的数(只能表示正数),在寄存器中的每–位均可用来存放数值,面与其相对的另一个概念——有符号数要复杂一些。因为有符号数还能表示负数,这就需要有一个数据位来表示数据的正负,所以无符号数是相对于有符号数而言的,指的是整个机器字长的全部二进制位均表示数值位,相当于数的绝对值。由于无符号数和有符号数的这一一区别,在同- .机器字长的条件下,无符号数与有符号数所能表示的数值范围也是不同的。例如,机器字长同为16 位的情况下,无符号数的取值范围为:0 ~ 65535.而有符号数如果采用补码表示法(关于补码下面会学到),取值范围则为:-32768 ~ + 32767.

三、有符号数
1.真值与机器数的概念
  学习有符号数首先要理解两个专业术语:真值和机器数。我们平时使用符号“-”来表示一个负数,例如-100,-32,使用“+”或省略“+“来表示一个正数,
例如+65,+ 130。这些例子中的实际值就叫真值。真值往往是面向人的,可以用二进制数表示,也可用其他进制数表示,但根据习惯,常用十进制数表示。而在计算机中,因为只能表示0和1两种数码,所以计算机中任何信息都是采用0和1的组合序列来表示。也就是说,对于有符号数来说,也只能用0或者1来表示“正”或“负”。一般情况下,都用0来表示“正”,用1来表示“负”,并且将符号位放在有效数字的前面,来组成一个有符号 数。一个数在机器中的表示形式称为机器数。形式上为二进制数,但有别于日常生活中使用的二进制数。

机器数和日常生活中使用的二进制数(真值)比较,有如下一些特点: .
  (1)机器数为二进制形式,用0和1组合来表示数据,包括符号。机器数符号数码化,一般使用机器数的最高位为符号位,当符号位为0,表示为正数;符号位为1,表示为负数。
  (2)小数点不直接出现。 机器数通过- -定的方式来表示数的小数点位置,有定点表示法和浮点表
示法。
  (3)机器数使用时需要明确采用的位数(字长),即一个机器数所占用的存储空间大小,以bit(一个二进制位)或Byte(一个字节,八个二进制位)为单位。相应的,不同机器数所能表示的真值是有一定的取值范围的。
有符号数X采用三种编码方式记录一个真值——原码、 反码和补码,分别记作:[X]、[X]和[X]。为什么需要有符号数的不同的编码方式呢?由于机器数对符号位进行了数码化。那么,在需要对计算机中的机器数进行四则运算时,符号位作为数据的一部分,也应当参与到运算中来。但是,如.果参与运算,又如何对其进行处理呢?关于这些问题,在下面讲述的编码方式部分(补码和反码)中会提到。

发布了18 篇原创文章 · 获赞 0 · 访问量 593

猜你喜欢

转载自blog.csdn.net/Dnesity/article/details/104559705