1

学術的な質問:
値が -1 の Int32 のバイト データを UInt32 にキャストするにはどうすればよいですか? (SWIFTはそれを行うことができますか?)

理解:
UInts には -1 を超える整数のみが含まれるため、-1 は符号なし整数で表すことができる値ではないことはわかっています。

ただし、 Int32 と UInt32 の両方が Bytes (4*8=32)で同じ量のスペースを占めることも知っています。
そのバイト空間は、同じ値を表しているかどうかに関係なく、どちらのタイプにも使用できるはずです...明らかにそうではありません。

結論:
Int32 の生のビット データを取り、それを UInt32 に使用する簡単な方法があるはずです...

4

1 に答える 1

2

bitPattern を介して変数をキャストします (Jthora に感謝します)。これについては、SOに関する多くのヘルプがあります。

32 ビットの場合、符号付きまたは 4294967295 符号なしの場合は 0xffffffff=> -1 です。

于 2014-12-18T22:58:37.000 に答える