2014-07-02 回答

若不对浮点数的表示作出明确规定,同一个浮点数的表示就不是唯一的。例如,十进制数可以表示成1.11×10ˇ0,0.111×10ˇ1,0.0111×10ˇ2等多种形式。为了提高数据的表示精度,当尾数得值不为0时,尾数域的最高有效位应为1,这称为浮点数的规格化表示。否则以修改阶码同时左右移小数点位置的办法,使其变为规格化数的形式。

但在ieee754标准中,一个规格化的32位浮点数x的真值表示为:

x=(-1)ˇs×(1.m)×2ˇ(e-127) e=e-127 其中s是浮点数的符号位,占1位。m是尾数,放在低位部分,占用23位,小数点位置放在尾数域最左(最高)有效位的右边。e是阶码,占用8位。它的尾数域所表示的值是1.m。e为实际指数。因为规格化浮点数的尾数域最左位(最高有效位)总是1,故这一位经常不予存储,而认为隐藏在小数点的左边。

64位的浮点数中符号位1位,阶码域11位,尾数域52位,指数偏移值是1023.因此规格化的64位浮点数x的真值为

x=(-1)ˇs×(1.m)×2ˇ(e-1023) e=e-1023 将十进制数11.375表示为754标准存储格式(就是上文提到的一种规格化浮点数的国际标准)

11.375=+1011.011=+(1.011011)×2ˇ3=(-1)ˇs×(1.m)×2ˇe

可知s=0,包括隐藏位1的尾数1.m=1.011011=1.011 0110 0000 0000 0000 0000 e=3

e=e+127=130=011+01111111=10000010

则二进制数格式为

0 1000 0010 0110 1100 0000 0000 0000 0000

- ------------- ---------------------------

↑ ↑ ↑

s 阶码(8位) 尾数(23位) create table 浮点数(浮点数);

insert into 浮点数 values(1.00);

insert into 浮点数 values(1.10);

insert into 浮点数 values(1.021);

insert into 浮点数 values(1.01);

insert into 浮点数 values(100.2);

insert into 浮点数 values(0.586);

insert into 浮点数 values(299.999);

insert into 浮点数 values(53.000);

insert into 浮点数 values(35003.12);

.mode column

.h on

select * from 浮点数;

浮点数

----------

1.0

1.1

300

1.021

1.01

100.2

0.586

299.999

53.0

35003.12

--输入整数,保存整数,输入小数,如果小数点后边都是零,只保留一个零。

--四舍五入round(字段名,保留小数点位数)

select 浮点数, round(浮点数,2)四舍五入from 浮点数;

浮点数 四舍五入

---------- ------------

1.0 1.0

1.1 1.1

300 300.0

1.021 1.02

1.01 1.01

100.2 100.2

0.586 0.59

299.999 300.0

53.0 53.0

35003.12 35003.12

--四舍五入保留2位小数,整数后面加一个零.

select round(浮点数,2),length(round(浮点数,2))-length(cast(浮点数 as integer)) from 浮点数;

round(浮点数,2) length(round(浮点数,2))-length(cast(浮点数 as integer))

------------------ ------------------------------------------------------

1.0 2

1.1 2

300.0 2

1.02 3

1.01 3

100.2 2

0.59 3

300.0 2

53.0 2

35003.12 3

0.5 2

--四舍五入后的位数长度减去取整后的位数长度行规教徒等于2的需要加一个零.

sqlite> select 浮点数 as 'raw value', (round(浮点数,2)) as 'rnd value' , case when (length(round(浮点数,2))) - (length(cast(浮点数 as integer)) ) =2 then substr(' '||(round(浮点数,2))||'0', -10,10) else substr(' '||(round(浮点数,2 )),-10,10) end as 'result' from 浮点数;

raw value rnd value result

---------- ---------- ----------

1.0 1.0 1.00

1.1 1.1 1.10

300 300.0 300.00

1.021 1.02 1.02

1.01 1.01 1.01

100.2 100.2 100.20

0.586 0.59 0.59

299.999 300.0 300.00

53.0 53.0 53.00

35003.12 35003.12 35003.12

0.5 0.5 0.50

计算机组成 规格化数,计算机组成原理 关于数据规格化浮点数的编码问题相关推荐

  1. 【组成原理-数据】浮点数的编码与运算

    文章目录 1 浮点数的格式 1.1 符号 (S) 1.2 阶码 (E) 1.3 尾数 (M) 2 IEEE 754 标准 2.1 短浮点数(float 型) 短浮点数的解释 2.2 长浮点数(doub ...

  2. 计算机组成原理浮点规格化,规格化浮点数

    本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! 规格化浮点数又称格式化输出,是指把一个浮点数按指定的格式进行转换.通常在报表统计展示.数据计算存储时需要格式化,常用的格式化函 ...

  3. 机器值计算机组成,计算机组成原理_数据的机器运算.ppt

    计算机组成原理_数据的机器运算 计算机组成原理:数据的机器运算 第四章 数据的机器运算 计算机的主要功能是对数据进行各种加工和处理,包括加.减.乘.除这些基本的算术运算,与.或.非这些基本的逻辑运算, ...

  4. 计算机组成原理——关于数据对齐存储

    计算机组成原理--关于数据对齐存储 1. 综述 博客:http://blog.csdn.net/cyxcw1/article/details/9080519(C/C++数据边界对齐的注意事项) 对齐: ...

  5. 计算机组成知识试题及答案,2015年计算机考研:计算机组成原理试题六【附答案】...

    2015年计算机考研专业课考试科目为:计算机组成原理.数据结构.操作系统以及计算机网络等,需要大家记忆的东西很多,但是更重要的还是要理解,融会贯通才能够把题做好,把问题解决.新东方在线小编分享计算机组 ...

  6. 用计算机浮点数表示法计算,计算机组成原理第4章浮点数运算方法ppt课件

    PPT内容 这是计算机组成原理第4章浮点数运算方法ppt课件下载,主要介绍了浮点数的表示:浮点加减运算:浮点加减运算的步骤:浮点数加减运算流程图:浮点加减法运算:浮点运算所需的硬件配置,欢迎点击下载. ...

  7. 《计算机组成原理》----2.6 浮点数

    本节书摘来自华章出版社<计算机组成原理>一书中的第2章,第2.6节, 作 者 Computer Organization and Architecture: Themes and Vari ...

  8. 北航计算机组成spoc,计算机组成原理spoc

    <计算机组成原理spoc>由会员分享,可在线阅读,更多相关<计算机组成原理spoc(60页珍藏版)>请在人人文库网上搜索. 1.第一章1 .微型计算机的发展以 技术为标志.A. ...

  9. 考研计算机组成原理难点,2010计算机考研:计算机组成原理冲刺重难点梳理

    (一)计算机系统概论主要内容 本章重点:要求读者掌握一个较细化的计算机组成框图,本章的难点是计算机如何区分同样以0.1代码的形式存在存储器中的指令和数据. 重要概念 1. 计算机系统及计算机系统的层次 ...

最新文章

  1. R-CenterNet:用CenterNet对旋转目标进行检测
  2. Apache Spark 技术团队开源机器学习平台 MLflow
  3. python中api是指什么_python中API接口是什么
  4. Java的精妙之处,包括基元和变量参数数组
  5. item name=android:width,Android:形状中的笔划创建笔划宽度的边距
  6. Jeecg-boot 2.4.6+ 多租户改造方案(涉及菜单部门角色等基础模块)
  7. STM32单片机一个定时器输出不同频率PWM波
  8. android---手电筒之摩尔斯电码
  9. 学phython的小笔记
  10. 【1】JVM-内存模型
  11. HTML中的window对象和document对象详解
  12. JavaScript之Ajax Util
  13. PyTorch基础(六)-- optim模块
  14. Java程序员培训班有用吗?是否专业
  15. 加班到凌晨三点?一张图看懂华为员工睡眠时间!!
  16. 无线抄表火热,ZigBee暂输于专用协议[转]
  17. 2017风口之变:创业者的焦虑与希望
  18. laravel 微信授权登录
  19. 我收藏的短线操作技巧
  20. 特斯拉称正调查上海停车场特斯拉车辆自燃事故

热门文章

  1. 黑马程序员—一个美女程序员面试经历,不要羡慕姐,姐只是个传说!
  2. 六级备考28天|CET-6|听力第三讲|篇章的做题方法与练习法|2022年6月考题9-11题|16:15-17:15
  3. ret2dlresolve(32位Partial RELRO)
  4. 写给技术负责人的 AI 落地方案,医疗、金融、教育、零售等行业都用得上!
  5. SEAL全同态加密开源库(八) rns源码解析(2)
  6. 推荐系统中协同过滤算法实现分析(重要两个图!!)
  7. pareto解是什么意思_什么是pareto有效
  8. PoS即股权证明(Proof of Stake)
  9. SCORM标准课件中SCO的制作方法
  10. 网络财务分析——如何下载一家上市公司的财务报告(绝对权威)