关于double==0判断的优化
对于过于诱人的优惠,保持理性判断 #生活常识# #购物消费技巧# #网购防骗技巧#
2010-09-04 16:03 小尘 - 在希望的田野上 阅读(5160) 评论() 编辑 收藏 举报
double在内存中的存储方式如下:
在判断一个double值是否等于0的时候,计算机先要把这个double值转化为一个真正的值,而计算机对位运算时最快的,因此可以优化为如下代码:
public static bool IsNull(double f)
{
DoubleOrLong val = f;
return val.IsZero;
}
[StructLayout(LayoutKind.Explicit)]
private struct DoubleOrLong
{
public static implicit operator DoubleOrLong(double f)
{
return new DoubleOrLong { D = f };
}
public bool IsZero
{
get { return U == 0u; }
}
[FieldOffset(0)]
private double D;
[FieldOffset(0)]
private readonly ulong U;
}
网址:关于double==0判断的优化 https://www.yuejiaxmz.com/news/view/405476
相关内容
if(list != null && list.size() > 0)优化,集合判空优雅的实现方式如何判断一个数是否为2的N次方
C51——添加震动开盖功能,使用外部中断优化
非线性优化Ceres的学习和使用(一)
如何优化居住体验?怎样判断居住环境的优劣?
十分钟利用springboot写电商支持多种优惠券规则,使用策略模式替代大量的if
判断日期是星期几
重学 Java 设计模式:实战策略模式「模拟多种营销类型优惠券,折扣金额计算策略场景」
DDR内存=Double Data Rate双倍速内存
ABCDE*?=EDCBA关于这个的优化算法