我的部分代码是检查lpt端口的输入引脚,但是使用十进制值:
while (PortAccess.Input(889) == 120)
如何将此指令用于二进制值?
例如,当00100100的第3位为0时,则执行某些操作。
答案 0 :(得分:1)
请参阅Convert.ToInt32(string value, int fromBase)
while((value & Convert.ToInt32("00000100", 2)) == 0)
或者因为我们知道第三位是(2 ^ 2)
while((value & 0x0004) == 0)
我猜是也是一段足够清晰的代码。
答案 1 :(得分:0)
好的,所以我已经这样做了,因为tafa解决方案无法正常工作,我无法使其正常工作:
var PortValue = Convert.ToString(PortAccess.Input(889), 2).PadLeft(8, '0');
PortV.Text = PortValue;
while (PortV.Text[3].ToString() == "1")
{
//some code
}
这可能不是一个好的解决方案,但它正在发挥作用;)