对VB的位运算实在不熟,来请教下
现在我在TextBox控件TxtSendpara里输入一个十进制的负数,并把这个负数的绝对值通过程序求绝对值再转换成二进制数赋给ParaTemp(Variant),接下来要怎样才能求到ParaTemp的补码呢?

解决方案 »

  1.   

    首先谢谢你的回答。
    我照你的方法做,调试发现如下问题:
    我输入一个负数-14,求得他的原码是ParaTemp=10001110,接下来做ParaTemp=Not(ParaTemp)+1,得到的结果是ParaTemp=-10001112. 好像这个结果不对吧……
      

  2.   

    结果 Hex(负数) 出来的就直接是补码了
      

  3.   

    当然,最简单的方法就是利用浮点数,例如 Single 或 Double。不过,在单片机端处理起来要麻烦一点。比较简单的方法,将你的数字分成 3 个域来发送,例如
    符号:1 字节,整数 4 字节, 小数 3 字节。