我有一个十进制值 163,我需要对其进行一元“非”运算。在 C++ 和 Java 中,这看起来像 ~(163)
.本质上,我希望每一点都翻转。
有没有办法在 PowerShell 中使用一元运算符或子程序(如果需要)来执行此操作?我还需要它来翻转整个 32 位地址的所有位。换句话说,二进制中的 163 是 0b10100011,但我希望整个 32 位容器都被翻转,包括末尾的 163(例如 0b11111......01011100)。
最佳答案
正如 Bill_Stewart 评论的那样,the -bnot
(binary not or bitwise not) operator做你想做的。它适用于 PowerShell 2.0。
请注意,PowerShell 的默认整数通常是有符号的,并且此操作的结果会有所不同,具体取决于它。
您可能需要强制转换为无符号类型之一才能获得所需的结果:
-bnot ([uint32]163)
关于powershell - PowerShell 中的一元 "Not"或位翻转运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41578517/