2012-01-23 22 views
1

私はまだRubyを使用してビット演算子で苦労しています。5ビットの符号付き整数?

(ビットストリームからの)値11100(基数10で28)を取得するには、-4としてください。これは5ビットの符号付き整数です。

どのように進めますか?

-X = "/ X +1" ie:Xの最初のフリップビットを1つ増やしてXの反対側を取得します。しかし、ここでは、私は沈んでいます!

+0

11100は-4にする必要がありますか? –

答えて

2

Iff左端のビットは1で、負の数です。

したがって、28をとり、32(2^5)を減算すると-4が得られます。

しかし、-2は11110

関連する問題