正在加载图片...
248编的奥 Chinapub.com 下载 指数0和255用于特殊用途,在此简单描述一下。如果指数从1变化到254,则由s(符号位)、 (指数)和f(有效数)来表示的数为: (-1)5×1.f×2e-127 1的s次幂是数学上的一种方法,意思是“如果s为0,则数是正的(因为任何数的0次幂 等于1):如果s为1,则数是负的(因为-1的1次幂为-1)”。 表达式的另一部分是1.f,意思是1后面为二进制小数点,再后面为23位的有效小数部分 它乘以2的幂,其中指数为内存中的8位移码指数减去127 注意,到现在还没有提到如何表示一个很常见的数字,那就是0。这是一种特殊情况, 即 如果e等于0,且f等于0,则数为0。通常,所有32位均为0则表示0。但是符号位可以是1, 在这种情况下,数被解释为一0。-0可以表示一个很小的数,小到在单精度格式中不能 用数字和指数来表示。尽管如此,它们然小于0 如果e等于0,且f不等于0,则数是有效的。但是,它不是规格化的数,它等于 (-1)×0.f×2127 注意,二进制小数点左边的有效数为0。 如果e等于255,且f等于0,则数为正或负无穷大,这取决于符号s ·如果e等于255,且不等于0,该值被认为“不是一个数”,简写为NaN。NaN可以表示一 个不知道的数或者一个无效操作的结果 通常,单精度浮点格式中可以表示的最小规格化的正或负二进制数为: 1.00000000 在二进制小数点之后有23个0。在单精度浮点格式中可以表示的最大规格化的正或负二进 制数为 1.111×27 换算或十进制,这两个数近似为1.175494351×10-和3.402823466×103。这就是单精度 浮点数表示法的有效范围 前面讲过,10位二进制数近似等于3位十进制数。也就是说,若10位都置1(即十六进制为 3Fh,十进制为1023),则它近似等于3位十进制都设置为9,即999。或者 这种关系表明按单精度浮点格式存放的24位二进制数大约与7位十进制数等效。因此,也 可以说单精度浮点格式提供24位二进制精度,或大约7位十进制精度。它的含义是什么呢? 当观察定点数的时候,数的精度是很显然的。例如,对于钱数,用两位十进制小数的定 点数就可精确到分。但是,对浮点数来说,就不能这么肯定了。根据指数值的不同,有时浮 点数可以精确到比分还小的单位,有时甚至不能精确到元 粗略地讲,单精度浮点数可精确到1/2,或1/16770216,或约百万分之六。这到底是什么 意思呢? 从某种意义上讲,它意味着如果想用单精度浮点数来表示16777216和16777217,其结 果是一样的。而且,在这两个数之间的任何数(如167772165)也认为是与它们一样的。所指数0和2 5 5用于特殊用途,在此简单描述一下。如果指数从1变化到2 5 4,则由s(符号位)、 e(指数)和f(有效数)来表示的数为: (-1)s×1 . f×2 e-1 2 7 -1的s次幂是数学上的一种方法,意思是“如果 s为0,则数是正的(因为任何数的 0次幂 等于1);如果s为1,则数是负的(因为-1的1次幂为-1)”。 表达式的另一部分是 1 . f,意思是1后面为二进制小数点,再后面为 2 3位的有效小数部分。 它乘以2的幂,其中指数为内存中的 8位移码指数减去1 2 7。 注意,到现在还没有提到如何表示一个很常见的数字,那就是 0。这是一种特殊情况, 即: • 如果e等于0,且f等于0,则数为0。通常,所有3 2位均为0则表示0。但是符号位可以是1, 在这种情况下,数被解释为- 0。-0可以表示一个很小的数,小到在单精度格式中不能 用数字和指数来表示。尽管如此,它们然小于 0。 • 如果e等于0,且f不等于0,则数是有效的。但是,它不是规格化的数,它等于 (-1)s×0 . f×2 - 1 2 7 注意,二进制小数点左边的有效数为 0。 • 如果e等于2 5 5,且f等于0,则数为正或负无穷大,这取决于符号 s。 • 如果e等于2 5 5,且f不等于0,该值被认为“不是一个数”,简写为N a N。N a N可以表示一 个不知道的数或者一个无效操作的结果。 通常,单精度浮点格式中可以表示的最小规格化的正或负二进制数为: 1 . 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0T W O×2 -1 2 6 在二进制小数点之后有 2 3个0。在单精度浮点格式中可以表示的最大规格化的正或负二进 制数为: 1 . 11111111111111111111111T W O×2 1 2 7 换算或十进制,这两个数近似为 1 . 1 7 5 4 9 4 3 5 1×1 0-3 8和3 . 4 0 2 8 2 3 4 6 6×1 03 8。这就是单精度 浮点数表示法的有效范围。 前面讲过,1 0位二进制数近似等于 3位十进制数。也就是说,若 1 0位都置1 (即十六进制为 3 F F h,十进制为1 0 2 3 ),则它近似等于3位十进制都设置为9,即9 9 9。或者 2 1 0≈1 03 这种关系表明按单精度浮点格式存放的 2 4位二进制数大约与7位十进制数等效。因此,也 可以说单精度浮点格式提供 2 4位二进制精度,或大约7位十进制精度。它的含义是什么呢? 当观察定点数的时候,数的精度是很显然的。例如,对于钱数,用两位十进制小数的定 点数就可精确到分。但是,对浮点数来说,就不能这么肯定了。根据指数值的不同,有时浮 点数可以精确到比分还小的单位,有时甚至不能精确到元。 粗略地讲,单精度浮点数可精确到 1 / 22 4,或1 / 1 6 7 7 7 2 1 6,或约百万分之六。这到底是什么 意思呢? 从某种意义上讲,它意味着如果想用单精度浮点数来表示 16 777 216和16 777 217,其结 果是一样的。而且,在这两个数之间的任何数(如 16 777 216.5)也认为是与它们一样的。所 248 编码的奥秘 下载
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有