float a=0.1;
float b=0.2;float c;c=a^b;//出错怎样才是正确的
float b=0.2;float c;c=a^b;//出错怎样才是正确的
解决方案 »
- 关于VC/MFC的
- SDK创建ActiveX控件
- 在vista个性化设为大字体的时候,picture控件显示不正常,而在XP下不会.(急.)
- 应淡月儿要求发帖
- 电子地图中图片拖拽的问题
- 如何判断任务栏的自动隐藏功能是否打开?谢谢!
- 我做了一个对话框应用程在对话框最大化的时候(界面大小改变时),其他空件应怎么处理?(如有一个编辑框,我要它跟着界面大小的变化而变化
- 送分!ASP,Dephi,PB,C++,我学哪一个好!!!
- 关于内存泄漏!
- 6个vc初学者易遇到的问题,望各位不吝指教!!(最后的分数悉数奉上)
- 请问如何将BMP图形文件转换为JPEG文件
- 奇怪了,有了hBitmap,却拿不到Bitmap的长和宽。
比如:
0^0=0
1^0=1
1^1=0你首先要自己定义float异或的含义,我不知道你如何定义,比如你说0.1^0.2应该等于多少?首先在代数上定义float异或的含义,然后再自己实现。
union F2DW{
float fParam;
DWORD dwParam;
};F2DW fdw1,fdw2,fdw3;
fdw1.fParma = 0.1;
fdw2.fParam = 0.2;
fdw3.dwParam = fdw1.dwParam ^ fdw2.dwParam;我曾经用这个办法做过数据校验,不知对你是否有用。
{
int i;
float fResult;
for(i=0;i<sizeof(float);i++)
{
((char *)(&fResult))[i]=((char *)(&a))[i]^((char *)(&b))[i];
}
}这个方法不依赖于sizeof(float)==sizeof(int)
{
int i;
float fResult;
for(i=0;i<sizeof(float);i++)
{
((char *)(&fResult))[i]=((char *)(&a))[i]^((char *)(&b))[i];
}
return fResult;
}
float XorFloat(float a, float b)
{
#define MOD_MAX 0xFFFFFFFF int nA, nB, nC;
int xA, xB, xC;
float fRet; nA = (int)a;
nB = (int)b;
nC = nA ^ nB; xA = (int)(MOD_MAX * (a - nA));
xB = (int)(MOD_MAX * (b - nB));
xC = xA ^ xB; fRet = nC + (float)xC / MOD_MAX; return fRet;
}