平成21年春期試験問題 問64
広告
解説
答えを導く方法としてはいくつかの方法がありますが、一度10進数に直して3倍した数値を2進数に戻す方法と、101102を左へ1ビット分シフトさせて101102を足すという方法を説明します。
【一度10進数に直してから2進数に戻す方法】
まず、2進数10110を10進数で表します。各桁の重みをつけて足し合わせるので、以下のように求めます。
24+22+21=16+4+2=22
次に、この10進数22を3倍します。
22×3=66
最後に、10進数66を2で素因数分解して2進数に戻します。【101102を左へ1ビット分シフトさせて101102を足す方法】
2進数にはビット列全体を1ビット左シフトするごとにその値が2倍になる性質がありますので、101102を左シフトさせて1011002とし、これに101102を足すことで3倍になります。
【一度10進数に直してから2進数に戻す方法】
まず、2進数10110を10進数で表します。各桁の重みをつけて足し合わせるので、以下のように求めます。
24+22+21=16+4+2=22
次に、この10進数22を3倍します。
22×3=66
最後に、10進数66を2で素因数分解して2進数に戻します。【101102を左へ1ビット分シフトさせて101102を足す方法】
2進数にはビット列全体を1ビット左シフトするごとにその値が2倍になる性質がありますので、101102を左シフトさせて1011002とし、これに101102を足すことで3倍になります。
広告