乘以0.5和乘以1/2是一样的吗?

zing21cn 2010-11-24 06:49:16
请问:对于一个数,乘以0.5和乘以1/2是一样的吗?那么乘以50再除以100呢?
...全文
885 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
侃大川 2010-11-26
  • 打赏
  • 举报
回复
从数值上来说,要考虑浮点数的误差
===============================
使用双精度类型尽管比单精度类型耗费空间,但是,数值准确(精确)。
曾经遇到过,比如10,在单精度变量中的值9.99999999998,而在双精度变量中的值则是10.00
单精度变量尾部总是留有意外的很小的小数部分。
同理:*0.5,* 1/2等会遇到同样的问题。
总之数值计算不会太精确,应该从工程角度考虑,保留可以容忍的误差,对于计算效率可以大大提高。

嗷嗷叫的老马 2010-11-26
  • 打赏
  • 举报
回复
帮顶顶,进来学习的.....
bcrun 2010-11-26
  • 打赏
  • 举报
回复
世上没有哪两样东西是完全一样的,问题在于特定环境下你是否在乎他们的区别.
所以你的问题更好的提法是:这两者在哪些情况下有哪些区别?
比如说运算速度,比如说是否要取整,当上还有楼上各位提到的一些情况:)
sunsoncheng 2010-11-26
  • 打赏
  • 举报
回复
就是没有人完整的说下?
  • 打赏
  • 举报
回复
运行时间肯定不一样
booksoon 2010-11-25
  • 打赏
  • 举报
回复
choovy123 2010-11-25
  • 打赏
  • 举报
回复
不一样
1/2仍然是整型
而1.0/2是浮点型
所以要注意数据类型的转换
至尊贱客 2010-11-25
  • 打赏
  • 举报
回复
看你的结果用什么类型的值去接受
系统会有误差
chinaboyzyq 2010-11-25
  • 打赏
  • 举报
回复
很可能不一样,整数运算与浮点数运算是不一样的。
ningweidong 2010-11-25
  • 打赏
  • 举报
回复
理论上是一样的,但实际上,因为实现的方法不同,可能会有些误差
兔子-顾问 2010-11-25
  • 打赏
  • 举报
回复
浮点数运算会有精度损失。
或许某个特例会导致结果不同。
of123 2010-11-25
  • 打赏
  • 举报
回复

从具体实现上,有可能是不一样的。要看具体情况。

一个整数 * 1/2,或者干脆 /2,或更进一步 \2,很可能是以右移一位实现的。

* 0.5 则会调用浮点数乘法。

不仅仅是结果是否一致的问题,还牵涉到运行效率。


神马都能聊 2010-11-25
  • 打赏
  • 举报
回复
不一样,浮点数的问题,误差可能比较夸张。
luofenghen 2010-11-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 cbm666 的回复:]
呵呵 分数太多了吗?

Msgbox 100 * 0.5

Msgbox 100 * 1 / 2

Msgbox 100 * 50 / 100

不就知道答案了吗? 不满意结贴 分留以后用吧.
[/Quote]

不满意结贴是分照扣的 ,结贴之后还能返还一半的
无·法 2010-11-25
  • 打赏
  • 举报
回复
[Quote=引用楼主 zing21cn 的回复:]
请问:对于一个数,乘以0.5和乘以1/2是一样的吗?那么乘以50再除以100呢?
[/Quote]最前面的应该比后面的少一条汇编指令
acrifyh 2010-11-25
  • 打赏
  • 举报
回复
应该不一样
ivy13579 2010-11-25
  • 打赏
  • 举报
回复
这是一个复杂的问题!!
东方之珠 2010-11-24
  • 打赏
  • 举报
回复
看什么需求,看看这个有什么区别:

Dim a As Long, b As Double, c As Integer
a = 33.3: b = 33.3: c = 33.3
Debug.Print a, b, c
Debug.Print a * 0.5, b * 0.5 * 0.5, c * 0.5
混吃等死 2010-11-24
  • 打赏
  • 举报
回复
一样的~!
dianyancao 2010-11-24
  • 打赏
  • 举报
回复
不溢出或太小都行
MsgBox 5E+308 / 1E+309 '溢出

1E-323 = 9.88131291682493E-324
’再小一点:
1E-324 = 0#
加载更多回复(3)

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧