0

病気で授業を一日欠席したので、教授を調べました。その日のオンラインの資料と私はこれにこだわっています。彼のメモには、それを行う方法についての説明がありません。質量間の変換 (10 進数から 8 進数、16 進数、2 進数など) はできますが、これはできません。

何か助けはありますか?例は、私がすぐに理解するのに本当に役立ちます。彼のスライドショーの例を投稿します。

1010 0000 0100 0101 as an unsigned value
= (1 * 2^15) + (1 * 2^13) + (1 * 2^6) + (1 * 2^2) + (1 * 2^0)
= (32,768) + (8192) + (64) + (4) + (1)
= 32,768 + 8261 = 41,029 base 10



1010 0000 0100 0101 as a signed value
= - [(1 * 2^13) + (1 * 2^6) + (1 * 2^2) + (1 * 2^0)] 
= -8,261 base 10

病気になっても本当に授業に出るべきだと思います。

4

2 に答える 2

1

符号付き整数と符号なし整数の違いは、ビットの 1 つです。この場合、値が正か負かを示すために左端のビットが使用されます。この場合、左端のビットが 1 の場合、値は負になり、左端のビットが 0 の場合、値は正になります。

ですから、あなたの教授が示した例では、

1010 0000 0100 0101 

状況に応じて、符号付き整数または符号なし整数のいずれかとして解釈できます。符号付き整数として解釈される場合、値は評価されます

(1 * 2^15) + (1 * 2^13) + (1 * 2^6) + (1 * 2^2) + (1 * 2^0) = 41092

符号なし値として解釈される場合、左端のビットから符号を取得し、残りのビットから整数の値を取得します

- [(1 * 2^13) + (1 * 2^6) + (1 * 2^2) + (1 * 2^0)]  = - 8261

お役に立てれば!

于 2015-11-12T02:15:32.567 に答える
1

符号は 15 ビット目です。したがって、基本的には、場所を 1 でカウントし (つまり、2^place)、それらを足し合わせるだけです。

于 2015-11-12T02:16:38.097 に答える