青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

S.l.e!ep.¢%

像打了激速一樣,以四倍的速度運轉,開心的工作
簡單、開放、平等的公司文化;尊重個性、自由與個人價值;
posts - 1098, comments - 335, trackbacks - 0, articles - 1
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

How to compare double or float in Cpp

Posted on 2010-03-06 16:13 S.l.e!ep.¢% 閱讀(717) 評論(0)  編輯 收藏 引用 所屬分類: VC

簡單方便型:

double i=90.02;
if (? (i-90.02) >= 0.00?)

How to compare double or float in Cpp

From MetaSharp

Jump to: navigation, search

Article Author(s): Audric Thevenet
All Rights Reserved.


language?: english definition of the double type

The following code is the best way I could come up with to work correctly with doubles. The float version is not provided yet, but after reading a bit the code, you should manage to easily extend it to floats. The most important functions here are:

  • GetExpoBase2() extracts the base2 exponent from the double (putting aside the sign bit and the mantissa)
  • Equals() gets the exponents (e1,e2) of both doubles (d1,d2) and the exponent (e3) of their difference (d1-d2), then the 2 doubles (d1,d2) are considered being equal only if their difference is close enough to 0. This is done comparing the exponents. Example: e3=-50 (meaning 2^-50) e1=-1 e2=-1 then e3-e2=-49 and e3-e1=-49 both less than -48. It means that e1 and e2 are equal because their difference significant bits are located 2^48 lower... hard to tell if it's clear enough, I'll edit later if I come up with a clearer explaination ^^

Download Double comparison Sample for VC2005

compare.cpp

// compare.cpp
#include "compare.h"

namespace metasharp
{
	inline int GetExpoBase2(double d)
	{
		int i = 0;
		((short *)(&i))[0] = (((short *)(&d))[3] & (short)32752); // _123456789ab____ & 0111111111110000
		return (i >> 4) - 1023;
	}

	bool	Equals(double d1, double d2)
	{
		if (d1 == d2)
			return true;
		int e1 = GetExpoBase2(d1);
		int e2 = GetExpoBase2(d2);
		int e3 = GetExpoBase2(d1 - d2);
		if ((e3 - e2 < -48) && (e3 - e1 < -48))
			return true;
		return false;
	}

	int 	Compare(double d1, double d2)
	{
		if (Equals(d1, d2) == true)
			return 0;
		if (d1 > d2)
			return 1;
		return -1;
	}

	bool	Greater(double d1, double d2)
	{
		if (Equals(d1, d2) == true)
			return false;
		if (d1 > d2)
			return true;
		return false;
	}

	bool	GreaterOrEqual(double d1, double d2)
	{
		if (Equals(d1, d2) == true)
			return true;
		if (d1 > d2)
			return true;
		return false;
	}

	bool	Less(double d1, double d2)
	{
		if (Equals(d1, d2) == true)
			return false;
		if (d1 < d2)
			return true;
		return false;
	}

	bool	LessOrEqual(double d1, double d2)
	{
		if (Equals(d1, d2) == true)
			return true;
		if (d1 < d2)
			return true;
		return false;
	}
}

compare.h

// compare.h
#ifndef COMPARE_H
#define COMPARE_H

namespace metasharp
{
	int 	Compare(double d1, double d2);
	bool	Equals(double d1, double d2);
	bool	Greater(double d1, double d2);
	bool	GreaterOrEqual(double d1, double d2);
	bool	Less(double d1, double d2);
	bool	LessOrEqual(double d1, double d2);
}

#endif
Retrieved from "
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美激情aⅴ一区二区三区| 欧美在线视频一区| 欧美猛交免费看| 在线一区二区三区四区| 亚洲视频一二区| 国产一二精品视频| 欧美电影电视剧在线观看| 欧美成人久久| 午夜日韩福利| 久热这里只精品99re8久| 99国产精品久久| 午夜精品久久| 亚洲精品久久嫩草网站秘色 | 性久久久久久久久久久久| 午夜欧美理论片| 亚洲人成啪啪网站| 亚洲自拍都市欧美小说| 在线看不卡av| 亚洲欧美在线看| 亚洲人在线视频| 亚洲欧美亚洲| 一本一道久久综合狠狠老精东影业| 亚洲午夜激情免费视频| 亚洲黄一区二区三区| 亚洲一区二区免费视频| 亚洲国产合集| 欧美一区二视频| 亚洲一二三区精品| 欧美成人午夜剧场免费观看| 欧美中文字幕第一页| 欧美极品影院| 欧美成人中文| 国产一区日韩欧美| 亚洲一区二区四区| 一区二区三区产品免费精品久久75| 久久精品日产第一区二区| 亚洲欧美影院| 国产精品成人一区二区网站软件| 欧美高清不卡在线| 激情综合网激情| 午夜精品短视频| 欧美亚洲日本网站| 国产精品久久久久久久午夜片| 亚洲国产高清高潮精品美女| 国产一区二区三区久久| 亚洲宅男天堂在线观看无病毒| 99国产精品99久久久久久粉嫩| 欧美v亚洲v综合ⅴ国产v| 久久一区二区三区国产精品| 国产欧美精品一区| 亚洲免费中文| 久久精品亚洲一区二区| 国产精品亚洲综合色区韩国| 亚洲一区二区免费看| 亚洲一区二区三区777| 欧美久久久久| 亚洲美女精品一区| 亚洲手机在线| 国产精品久久久久久久久久三级 | 亚洲人在线视频| 免费在线亚洲欧美| 亚洲激情电影中文字幕| 亚洲精品一区二区在线观看| 欧美国产一区二区三区激情无套| 亚洲缚视频在线观看| 亚洲精品乱码久久久久久蜜桃麻豆 | 99热免费精品| 亚洲欧美一级二级三级| 国产日韩精品视频一区二区三区 | 亚洲第一区色| 夜夜嗨av一区二区三区四季av| 欧美日韩精品久久| 在线亚洲欧美视频| 久久激情综合| 亚洲电影av在线| 欧美另类videos死尸| aa国产精品| 久久久久99精品国产片| 亚洲高清不卡av| 欧美日韩综合久久| 西西裸体人体做爰大胆久久久| 久久躁狠狠躁夜夜爽| 亚洲人成绝费网站色www| 国产精品wwwwww| 久久av一区| 亚洲精品日韩在线| 久久精品在线免费观看| 亚洲激情视频在线观看| 欧美婷婷六月丁香综合色| 久久riav二区三区| 亚洲欧洲综合另类在线| 欧美中文字幕在线播放| 亚洲人体偷拍| 国产午夜精品理论片a级大结局 | 欧美日本不卡高清| 性8sex亚洲区入口| 亚洲国产一区二区三区青草影视| 亚洲已满18点击进入久久| 黄色成人小视频| 欧美午夜电影在线观看| 久久在线视频| 午夜激情一区| 亚洲精品在线免费| 免费看的黄色欧美网站| 午夜精品福利一区二区蜜股av| 亚洲国产日韩欧美在线动漫| 国产人成精品一区二区三| 欧美极品欧美精品欧美视频| 亚洲欧美成人一区二区在线电影| 欧美电影在线观看| 欧美在线视频一区二区| 亚洲手机在线| 日韩天堂在线视频| 亚洲第一久久影院| 国产一区二区三区四区在线观看 | 欧美国产精品久久| 欧美一级淫片播放口| 一区二区三区**美女毛片| 欧美jizzhd精品欧美巨大免费| 欧美一区高清| 亚洲在线视频| 亚洲性视频网址| 亚洲精品免费一二三区| 亚洲国产裸拍裸体视频在线观看乱了中文 | 国产精品日韩久久久久| 欧美日韩18| 欧美国产日韩一区二区在线观看| 久久成人在线| 欧美一区二区三区久久精品茉莉花| 一区二区免费在线观看| 日韩五码在线| 一区二区三区高清在线观看| 亚洲日本欧美日韩高观看| 欧美大成色www永久网站婷| 麻豆精品在线播放| 免费亚洲电影| 欧美1级日本1级| 欧美高清你懂得| 亚洲国产一区二区视频| 亚洲精选91| 一区二区欧美国产| 亚洲综合社区| 欧美伊人久久大香线蕉综合69| 欧美影院成人| 久热精品视频| 欧美激情精品久久久久久蜜臀| 欧美精品自拍| 国产精品久久毛片a| 国产精品久久久久av免费| 国产精品视频内| 韩国成人福利片在线播放| 伊人久久av导航| 亚洲精品欧美在线| 亚洲在线观看视频| 久久精品综合一区| 欧美激情精品久久久六区热门 | 久久精品九九| 欧美91福利在线观看| 欧美日韩国产在线看| 国产精品美女在线| 精品不卡一区| 一区二区欧美在线观看| 性色av一区二区怡红| 噜噜噜躁狠狠躁狠狠精品视频| 欧美激情亚洲自拍| 在线视频亚洲一区| 久久精品日产第一区二区| 欧美精品xxxxbbbb| 国产日产亚洲精品系列| 亚洲国产欧美精品| 亚洲欧美不卡| 亚洲高清视频在线观看| 亚洲在线视频观看| 欧美www视频在线观看| 国产精品久线观看视频| 亚洲福利免费| 性欧美办公室18xxxxhd| 亚洲国产二区| 午夜久久美女| 欧美私人网站| 亚洲国产精品久久久久| 欧美一区二区视频在线| 亚洲国内精品| 久久精品99| 国产精品美女久久久浪潮软件| 亚洲欧洲在线免费| 久久精品视频在线| 亚洲性图久久| 欧美日韩福利| 亚洲精品小视频在线观看| 欧美一区二区三区视频| 亚洲欧洲日产国产综合网| 久久av老司机精品网站导航| 欧美视频在线观看免费| 亚洲精品久久久久久久久久久久久| 久久久久网站| 新狼窝色av性久久久久久| 国产精品嫩草久久久久| 一本一本久久| 亚洲另类视频|