ホームへ
コンピュータサイエンス1のトップページへ

コンピュータサイエンス1練習問題解答

問題

(+10)+(+8)を5桁の2の補数として計算し、10進数として表現すること(桁あふれも考慮すること)

解答

(10)10
= (8 + 2)10
= (0×24 + 23 + 0×22 + 21 + 0×20)10
= (01010)2
(+10)10の補数表現: 01010

(8)10
= (8 + 0 + 0 + 0)10
= (0×24 + 23 + 0×22 + 0×21 + 0×20)10
= (01000)2
(+8)10の補数表現: 01000

01010 + 01000 = 10010
→一番大きな桁が1なので、この数はマイナスの数(2の補数の方法で10進数に直す)

10010 - 1 = 10001
10001の0と1を反転させて01110

(01110)2
= (0×24 + 23 + 22 + 21 + 0×20)10
= (8 + 4 + 2)10
= (14)10

答え: -14

問題

(-10)+(+8)を5桁の2の補数として計算し、10進数として表現すること(桁あふれも考慮すること)

解答

(10)10
= (8 + 2)10
= (0×24 + 23 + 0×22 + 21 + 0×20)10
= (01010)2

01010の0と1を反転させて10101
10101 + 1 = 10110
(-10)10の補数表現: 10110

(8)10
= (8 + 0 + 0 + 0)10
= (0×24 + 23 + 0×22 + 0×21 + 0×20)10
= (01000)2
(+8)10の補数表現: 01000

10110 + 01000 = 11110
→一番大きな桁が1なので、この数はマイナスの数(2の補数の方法で10進数に直す)

11110 - 1 = 11101
11101の0と1を反転させて00010

(00010)2
= (0×24 + 0×23 + 0×22 + 21 + 0×20)10
= (0 + 0 + 0 + 2 + 0)10
= (2)10

答え: -2


Copyright (C) Junko Shirogane, Tokyo Woman's Christian University 2016, All rights reserved.