我有一个小数值163,我需要做一个"非"操作.在C++和Java中,这看起来像~(163)
.从本质上讲,我希望每一点都能翻转.
有没有办法在PowerShell中使用一元运算符或者如果需要的话,使用子例程?我还需要这个来翻转整个32位地址的所有位.换句话说,二进制163是0b10100011,但我希望翻转整个32位容器,包括最后的163(例如0b11111 ...... 01011100).
作为Bill_Stewart评论说,在-bnot
(二进制或不按位NOT)运算符你想要做什么.它适用于PowerShell 2.0.
请注意,PowerShell的默认整数通常是签名的,并且此操作的结果将根据不同而不同.
您可能需要转换为其中一种无符号类型以获得所需的结果:
-bnot ([uint32]163)