首页 置换 选车 估价 问答 生活 经销商 车管所 汽车资讯 汽车销量 车牌查询 今日油价 天气预报
您的位置: 首页 > 生活 > 科技 > 数值型数据的整理(数据的机器级表示和处理)
数值型数据的整理(数据的机器级表示和处理)
更新时间:2024-08-24 22:21:14
一. 数制和编码1. 信息的二进制编码

计算机内部处理的所有数据都必须是“数字化编码”了的数据。数字化编码的过程,就是指对感觉媒体信息进行采样,将现实世界中的连续信息转换为计算机中的离散的“样本”信息,然后对样本信息用“0”和“1”进行数字化编码的过程。

数值型数据的整理(数据的机器级表示和处理)1

2. 采用二进制表示法的原因
  1. 二进制只有两种基本状态,使用有两个稳定状态的物理器件就可以表示二进制数的每一位。
  2. 二进制的编码,计算和运算规则都很简单,可以用开关电路实现。
  3. 两个符号 1 和 0 正好与逻辑命题的两个值 真 和 假 相对应。

在计算机内部,数值数据的表示方法有两大类:第一类是直接用二进制数表示;另一类是采用二进制的十进制数(BCD)表示。表示一个数值数据需要确定三个要素:进位计数值,定/浮点表示和编码规则。

3. 进位计数制

日常生活中基本上都使用十进制数,其每个数位可用 10 个不同符号 0,1,2……,等表示。但在计算机系统中,常用的进位计数制有:二进制,二进制,十进制,十六进制。

数值型数据的整理(数据的机器级表示和处理)2

十进制小数转二进制

整数部分的转换方法是“除基取余,上左下右”。即:用要转换的十进制整数去除以基数 R,将得到的余数作为结果数据中各位的数字,直到上商为 0. 上面的余数作为右边低位的数位,下面的余数做为左边高位上的数位。

小数部分的转换方法是“乘基取整,上左下右”。即:用要转换的十进制小数去乘以基数 R,将得到的乘积的整数部分作为结果数据中各位的数字,小数部分继续与基数 R 相乘,以此类推,直到某一步乘积的小数部分为 0 或已得到希望的位数为止。最后,将上面的整数部分作为左边高位上的数位,下面的整数部分作为右边低位上的数位。

4. 定点和浮点表示定点表示

小数点位置约定在固定位置的数称为定点数。顶点表示法用来对定点小数和定点整数进行表示。对于定点小数,其小数点总是固定在数的左边(浮点数的尾数)。对于定点整数,其小数点总是固定在数的最右边。

浮点表示

小数点位置约定为可浮动的数为浮点数。

对于任意一个实数 X,可以表示为:X=(-1)S * M * RE

其中,S 取值为 0 或 1,用来决定数 X 的符号。M 是一个二进制定点小数,称为数 X 的尾数;E 是一个二进制定点整数,称为数 X 的阶或指数;R 是基数,可以取值为 2,4,16 等。

在基数 R 一定的情况下,尾数 M 的位数反映数 X 的有效位数,它决定了数的表示精度,有效位数越多,表示精度就越高;阶 E 的位数决定数 X 的表示范围;阶 E 的值确定了小数点的位置。

5. 定点数的编码表示1. 原码表示

一个数的原码表示由符号位直接跟数值位构成。因此,也称 “符号-数值” 表示法。原码表示法中,正数和负数的编码表示仅符号位不同,数值部分完全相同。

2. 补码表示

正数的补码符号为0,数值部分是其本身。

负数的补码等于模与该负数绝对值之差,即符号位为 1,数值部分取反再加一。

补码采用的是模运算,故绝对值相同的正数和负数相加会等于模 2n。

由于是模运算,绝对值相等的正数和负数关于 2n-1 对称。越靠经对称轴的值(不管正数还是负数)都越大。

由于是模运算,补码表示可以实现加减运算的统一,即用加法来实现减法运算。

数值型数据的整理(数据的机器级表示和处理)3

二. 整数的表示

计算机中的整数分为无符号整数和带符号整数。

无符号整数:当一个编码的所有二进制位都是用来表示数值而没有符号位时,该编码表示的就是无符号整数。此时默认数的符号为正(用于表示指针,下标等)。对应的数的值范围为 0~2n-1

带符号整数:必须有一个二进制位表示符号。n 位带符号整数的表示范围为:-2n-1 ~ 2n-1-1 。

C 语言中允许无符号整数和带符号整数之间的转换,转换前,后的机器数不变,只是转换前,后对其的解释发生了变化。

三. 浮点数的表示

浮点数是用一个定点数来表示浮点数的尾数,另一个表示浮点数的阶。由于两个定点数的位数是有限的,因而浮点数的表示范围也是有限的。 以 32 为浮点数为例:其表示为:

数值型数据的整理(数据的机器级表示和处理)4

image

1. 非规格化浮点数

非规格化数浮点数的偏移量是 2^7(128),即 0 的阶码为 10000000。故阶码能表示的最大数为 127,最小数为 -128。

非规格化数的位数为 24位,表示形式为:0.1bbb……b,其中第一位 1 不明显表示出来,这样可以用 23 个数来表示 24 位尾数。

非规格化浮点数的表示范围:

  • 负数: 最大值:-0.10……0 * 2-128 = -2-129最小值:-0.11……1*2127 = -(1-2-24) * 2127
  • 正数: 最大值:0.11……1 * 2127 = (1-2-24) * 2127最小值:0.10……0 * 2-128 = 2-129

由上看出,正数和负数的取值范围关于 0 对称。

2. 规格化浮点数

浮点数尾数的位数决定浮点数的有效数位,有效数位越多,数据的精度越高。为了在浮点数运算过程中尽可能多地保留有效数字的位数,使有效数字尽量占满尾数数位,必须在运算过程中对浮点数进行规格化操作。

对浮点数进行规格化,除了能得到尽量多的有效数位,还可以使浮点数的表示具有唯一性。

IEEE 754 浮点标准

目前几乎所有计算机都采用 IEEE 754 标准表示浮点数。在这个标准中,提供了两种浮点格式:32 位单精度格式和 64 位双精度格式。

  • 32 位单精度格式包含 1 位符号 s,8 位阶码 e 和 23 位尾数 f;
  • 64 位双精度格式包含 1 位符号 s,11 位阶码 e 和 52 位尾数 f;

其基数隐含为 2,尾数用原码表示,规格化尾数第一位总为 1,因而可在尾数中缺省第一位的 1,该缺省位称为隐藏位,隐藏一位后使得单精度格式的 23 位尾数实际表示 24 位有效数字。IEEE 754 规定隐藏位 1 的位置在小数点之前。

IEEE 754 标准中,阶码用移码表示,偏置常数并不是通常的 2n-1,而是 2n-1-1,因此,单精度和双精度浮点数的偏置常数分别为 127 和 1023。

偏置常数这样选取的好处:

  1. 尾数可表示的位数多一位,因而使浮点数的精度更高。
  2. 阶码的可表示范围更大,因而使浮点数范围更大。

偏置常数为127的阶码表示范围:-126~127。 偏置常数为128的阶码表示范围:-127~126。 由于IEEE754中规定了非规格化浮点数的阶码为-126,且隐藏位表示0。 故非规格化浮点数表示的范围为:0~1.11……1*2^(-127)。 能够覆盖掉偏置常数为128中的一个子序列。故选择偏置常数为127。

数值型数据的整理(数据的机器级表示和处理)5

IEEE 754 各区间的表示1. 全 0 阶码全 0 尾数: 0 / -02. 全 0 阶码非 0 尾数:非规格化数。

非规格化数的特点是阶码全为 0,尾数高位有一个或几个连续的 0,但不全为 0。隐藏位为 0,并且单精度和双精度浮点数的阶分别为 -126 和 -1022,故浮点数的值分别为:(-1)s * 0.f * 2-126 和 (-1)s * 0.f * 2-1022 。

非规格化数可用于处理阶码下溢,使得出现比最小规格数还小的数时程序也能继续执行。

3. 全 1 阶码全 0 尾数: ∞ / -∞4. 全 1 阶码非 0 尾数:NaN5. 阶码非全 0 且非全 1:规格化非 0 数,
上一篇:本届工博会 下一篇:论追妻之路的艰难
相关推荐RECOMMEND
无线射频技术课程报告(无人机通信透传应用)
随着科学与技术的发展,飞行器作为一种重要的空中信息获取平台,在国民经济建设和军事领域中发挥着越来越显著的作用。无人机可实现空中对地的视频图像捕获与无线传输,以达到实时监视和侦查的目的。无人机配套的飞控...
加个微信滚动字幕用什么软件(原来用微信就能剪辑)
微信除了是一个聊天工具之外,还有许多实用性的小功能,其中有一个功能,可以编辑视频,还可以给视频加字幕,加音乐,特别好玩。如果你还不知道怎么使用这个功能,可以跟着我一起来看看。​一:微信编辑视频1:拍摄...
世界上最大的蚊子长多少厘米(世界上最大的蚊子)
蚊子我们平时都见到过,很可恶,而且现在越来越过分了,小编记得就前些时候下雪的时候,睡觉的时候还有蚊子在耳边嗡嗡叫,大蚊子我们也知道,平时也有一些比较大个的,行动缓慢有点蠢,不过它们似乎不吸血,今天小编...
添加局域网共享打印机(笔记本连接共享打印机)
切换输入法为英文,
万象优鲜生鲜配送系统(蔬东坡生鲜配送系统)
蔬东坡软件好用吗?相信很多蔬菜配送企业都很关注这个话题。作为一家生鲜配送行业信息化解决方案服务商,蔬东坡在业内的名气也是响当当的。从2014年成立至今,蔬东坡一直致力于蔬菜配送软件的研发升级,已累计服...
微信怎么设置带有视频的状态(微信设置带有视频的状态方法)
微信怎么设置带有视频的状态?先要找到【状态】入口,点击进入它,今天小编就来聊一聊关于微信怎么设置带有视频的状态?接下来我们就一起去研究一下吧!微信怎么设置带有视频的状态先要找到【状态】入口,点击进入它...