C/C++ 关于浮点数在计算机中的计算机制?

大家好!!小弟菜鸟一个,想请教下大虾们几个关于浮点数据在计算机中是怎样做加减乘除运算的,希望大虾们给小弟多多指点指点,小弟先谢谢大虾了··对于浮点数据的存储我有一定的了解... 大家好!!小弟菜鸟一个,想请教下大虾们几个关于浮点数据在计算机中是怎样做加减乘除运算的,希望大虾们给小弟多多指点指点,小弟先谢谢大虾了··

对于浮点数据的存储我有一定的了解了,浮点数据在存储中与整形数据存储有很大的不同,我就很好奇了它在计算机内存中采取什么样的机制来执行加减乘除四则运算的,它与整形的运算机制有什么不同··小弟问了很多啊·,希望大虾们帮我解答解答··
展开
 我来答
百度网友8487bcf4e
2010-08-03 · 超过32用户采纳过TA的回答
知道答主
回答量:93
采纳率:0%
帮助的人:83万
展开全部
首先,要校正一下你问题中的错误:任何计算机里面的算术逻辑运算都不是在内存里面的进行的。必须先将数据读入CPU中的寄存器,然后通过ALU部件(运算部件)进行运算的。这点切记别搞错了。

以下讲讲浮点数的运算。其实在我的理解上,浮点数的运算和整数的运算其实区别不大。计算机浮点数的表示其实类似于我们数学中科学技术法。科学计数法中,一个数N可表示为N=10^E·M;而计算机中的一个浮点数N也可表示N=R^e·M(R为基数,计算机中R=2,M为尾数,是纯小数,e为指数,为整数),
从IEEE754标准看,有32位和64位浮点数,拿32位的来说明。在计算机中,将一个32为的浮点数分为3个部分:符号位S(1位),阶码E(用e的移码表示,8位,E=e+127,为2进制数),尾数M(23位)。了解浮点数组成后,对于运算的理解也就不难了。
当进行两个浮点数运算时,其实是两个数中对应部分分别进行运算,各部分运算过程其实和整算没什么两样。
浮点数运算过程:①比较阶码大小并进行对阶,这个操作类似于我们进行小数运算或用科学计数法表示的数进行运算时的对齐小数点的过程,这个过程就是阶码段E的运算。
②尾数运算
③结果规格化。就是对于结果如果不符合标准,则进行相应处理
④舍入处理。就是运算时结果可能超出计算机存储长度,则进行舍入处理。
⑤溢出处理。

浮点数运算大概就这样了。
linyuanhui1989
2010-08-03 · TA获得超过368个赞
知道小有建树答主
回答量:334
采纳率:0%
帮助的人:315万
展开全部
建议看计算机组成原理,要好好利用网络资源,我不想做复制粘贴党,锻炼自己的信息检索能力。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友869bb7c
2010-08-03 · TA获得超过183个赞
知道小有建树答主
回答量:252
采纳率:0%
帮助的人:129万
展开全部
加是最简单的,直接是二进制的运算,减就是取反之后的 加,乘就是N个加,至于除我忘记了,不过除好像是最难的,需要额外的寄存,具体的可以自己去看一下专业的实现,这个很底层了,与C/c++关系有限,基于CPU实现的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
督诺0GMffd
2010-08-03 · TA获得超过2013个赞
知道大有可为答主
回答量:3770
采纳率:0%
帮助的人:2008万
展开全部
整数的运算无非就是运用补码,原码,反码进行二进制运算。
浮点数在计算机中的运算和整数不同,它涉及到了尾数和码数的运算,当然归根到底还是二进制的补码,原码等的运算。建议看看计算机组成原理里的数据运算章节。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
遙望彼堓
2010-08-03
知道答主
回答量:17
采纳率:0%
帮助的人:9.9万
展开全部
你了解一下数的反码,补码,原码等等,就不难了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
浦枋乐正0e0
2010-08-03 · TA获得超过268个赞
知道答主
回答量:179
采纳率:0%
帮助的人:64.2万
展开全部
都是用函数 进数 代表 计算的......
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式