2017-01-10 8 views
3

단항 "not"연산을 수행하는 데 필요한 십진수 값 163이 있습니다. C++과 Java에서는 ~(163)과 같습니다. 본질적으로, 나는 모든 것들이 뒤집기를 원합니다.PowerShell에서 단항 "Not"또는 비트 플립 연산자가 필요합니까?

단항 연산자 또는 필요한 경우 서브 루틴을 사용하여 PowerShell에서이 작업을 수행하는 방법이 있습니까? 또한 전체 32 비트 주소의 모든 비트를 뒤집기 위해이 옵션이 필요합니다. 즉, 바이너리 163은 0b10100011이지만 끝 부분 163 개를 포함하여 전체 32 비트 컨테이너를 뒤집을 수 있습니다 (예 : 0b11111 ...... 01011100).

+2

당신은 의미합니까'163'을 -bnot :

당신은 당신이 원하는 결과를 얻기 위해 서명 유형 중 하나에 캐스팅해야? –

+0

나는 생각하지 않는다. '-bnot 163'은 -164를 얻습니다. 그것의 사용법을 제공 할 수 있습니까? PowerShell v2와 호환되는 뭔가가 필요합니다. – AlwaysQuestioning

+1

@AlwaysQuestioning '-164'는 부호있는 정수이기 때문에 올바른 결과입니다. [내 대답] (http://stackoverflow.com/a/41578654/3905079)을 참조하십시오. – briantist

답변

5

Bill_Stewart가 댓글을 달았습니다. the -bnot (binary not or bitwise not) operator 님이 원하는 것을 수행합니다. PowerShell 2.0에서 작동합니다.

PowerShell의 기본 정수는 일반적으로 서명되어 있으므로이 작업의 결과는 다릅니다.

-bnot ([uint32]163)