0xffffffffを符号無し整数で表示させるにはどうしたらよいですか?
そのまま入力すると-1となります。
[system.uint32]$d = [uint32]0xffffffff
での代入はエラーがでます。
PS >$b = 0xffffffff PS >$a = 4294967295 PS >$a -eq $b PS >False
となります。
PS >$a.tostring("x") ffffffff PS >$b.tostring("x") ffffffff PS >$a -eq [int64]$b False
また逆に、0xffを「-1」で出力するとはできますか?
教えてください。
入力となる0xffffffffはどういう素性のものでしょうか。
リテラルであるなら、[uint32]0xffffffffL、[uint32]"0xffffffff" などで対応できます。
int32のオブジェクト$a = 0xffffffffであるなら、
[uint32]("0x" + $a.ToString("X"))
[Convert]::ToUInt32($a.ToString("X"), 16) など。
0xff → -1も、文字列経由でsbyteに変換すれば。
[Convert]::ToUInt32("0xffffffff",16)
ではだめですか?