【发布时间】:2014-09-12 14:33:36
【问题描述】:
我试图为 vb.net 找到一个函数/运算符,它与 c 中的以下内容相同: uint8_t 值1 = 200; int8_t value2 = (int8_t)value1;
-> value2 应该是一些负值
因为有按位或,异或,而不是,我希望还有一种干净的方法可以基于二进制而不是十进制值进行强制转换。
我需要它来处理 8、16 和 32 位整数以及双向。
如果你问自己为什么,我正在为微控制器开发一个自定义通信库,并且发送的数据总是无符号字节,在屏蔽、奇偶校验和排列数据之后,我最终得到了需要的无符号整数值转换回原来的类型。
现在我知道,如果输入值大于 127,我可以通过减去一些值来实现这一点……但这只是混乱和缓慢,所以我希望有一个函数可以告诉编译器在不检查是否有意义的情况下进行直接转换。
非常感谢您的意见。
【问题讨论】:
-
我不知道 VB.NET 中有什么可以做到这一点。您可能必须通过
BitConverter课程。