Delphi中如何转变这样的语法?
if ((nState & 0x80) > 0)
{
return 10002;
}
其中的&代表的是与 类似Delphi的and 而我在编译的时候报0x80这个int类型的无法找到、这是为什么?Delphi中操作这些怎么去做?
追问:下面的怎么弄呢?
private float GetWeightByBuffer(string strBuffer)
{
char[] buffer;
float minusFlag, pointPos;
float nResult;buffer = strBuffer.ToCharArray();
// '检测标识位
int nState = buffer[1];
// '重量溢出
if ((nState & 0x80) > 0)
{
return 10002;
}//重量不稳定
if ((nState & 0x40) == 0)
{
return 10003;
}//负数
if ((nState & 0x20) == 0)
{
minusFlag = 1;
}
else
{
minusFlag = -1;
}
//非计重模式
if ((nState & 0xFF) == 0)
{
return 10004;
}//小数点位置
pointPos = nState % 8;// 循环取数值
nResult = 0;
for (int i = buffer.Length - 1; i >= 2; i--)
{
float nTemp = buffer[i];
nResult = nResult * 100 + Convert.ToInt32(nTemp / 16) * 10 + (nTemp % 16);
}
// '根据小数点位置处理数值
for (int i = 1; i < pointPos; i++)
{
nResult = nResult / 10;
}
// '加正负号
nResult = nResult * minusFlag;return nResult;
};