我有我从我的温度传感器(俄勒冈州传感器)收到的科学编号10579019E063,我想解析。
我正在尝试转换为C#的python示例:
checksum = 0xE + 0xA + 0x4 + 0xC;
checksum -= (value & 0xF) * 0x10;
checksum -= 0xA;
value >>= 8;值是10579019E063,正确地解析它:
double value = double.Parse("10579019E063");但是现在Visual抱怨它不能对值执行按位操作,因为它不是int。
有人有线索吗?我不能简单的投它,我失去了精度?
发布于 2014-07-03 08:35:07
位操作对于双行没有任何意义,因为它们的结构与int非常不同。
如果您处理的数字大于2^31,那么您可以使用long。
即使这还不够大,您也需要切换到BigInteger (在System.Numerics命名空间中),它有按位操作的实现。
10579019E063太大了,所以您需要BigInteger。
https://stackoverflow.com/questions/24548719
复制相似问题