//编码 byte[] SetDate(decimal radian) { int i,j; string[] s = radian.ToString().Split('.'); byte[] rs = new byte[5]; rs[0] = 0xff; if (s.Length == 2) { i = int.Parse(s[1]); i = i << 10; i = i | int.Parse(s[0]); } else { i = int.Parse(s[1]); } for (j = 3; j > 0; j--) rs[j] = (byte)(i >> (8 * (3 - j))); rs[4]=0; for (j = 0; j < 4; j++) rs[4] = (byte)(rs[4] + rs[j]); return rs; } //解码 decimal GetData(byte[] dat) { int i; string s; //验证 不写了 i = 0; for (i = 1; i < 4; i++) { i = i | dat[i]; i = i << 8; } s = (i & 0x3ff).ToString(); s = s + "."; s = s + (i >> 10).ToString(); return decimal.Parse(s); }
byte[] SetDate(decimal radian) { int i,j; string[] s = radian.ToString().Split('.'); byte[] rs = new byte[5]; rs[0] = 0xff; if (s.Length == 2) { i = int.Parse(s[1]); i = i << 10; i = i | int.Parse(s[0]); } else { i = int.Parse(s[1]); } for (j = 3; j > 0; j--) rs[j] = (byte)(i >> (8 * (3 - j))); rs[4]=0; for (j = 0; j < 4; j++) rs[4] = (byte)(rs[4] + rs[j]); return rs; }
//编码
byte[] SetDate(decimal radian)
{
int i,j;
string[] s = radian.ToString().Split('.');
byte[] rs = new byte[5];
rs[0] = 0xff;
if (s.Length == 2)
{
i = int.Parse(s[1]);
i = i << 10;
i = i | int.Parse(s[0]);
}
else
{
i = int.Parse(s[1]);
}
for (j = 3; j > 0; j--)
rs[j] = (byte)(i >> (8 * (3 - j)));
rs[4]=0;
for (j = 0; j < 4; j++)
rs[4] = (byte)(rs[4] + rs[j]);
return rs;
}
//解码
decimal GetData(byte[] dat)
{
int i;
string s;
//验证 不写了
i = 0;
for (i = 1; i < 4; i++)
{
i = i | dat[i];
i = i << 8;
}
s = (i & 0x3ff).ToString();
s = s + ".";
s = s + (i >> 10).ToString();
return decimal.Parse(s);
}
byte[] SetDate(decimal radian)
{
int i,j;
string[] s = radian.ToString().Split('.');
byte[] rs = new byte[5];
rs[0] = 0xff;
if (s.Length == 2)
{
i = int.Parse(s[1]);
i = i << 10;
i = i | int.Parse(s[0]);
}
else
{
i = int.Parse(s[1]);
}
for (j = 3; j > 0; j--)
rs[j] = (byte)(i >> (8 * (3 - j)));
rs[4]=0;
for (j = 0; j < 4; j++)
rs[4] = (byte)(rs[4] + rs[j]);
return rs;
}
{
i = int.Parse(s[0]);
}