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

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

問題

-25を2の補数10桁で表現すること

解答

(25)10
= (16 + 8 + 1)10
= (0×25 + 24 + 23 + 0×22 + 0×21 + 20)10
= (0000011001)2

25の2進数の0と1を反転させて100110
1111100110 + 1 = 1111100111

答え: 1111100111

問題

-32を2の補数10桁で表現すること

解答

(32)10
= (32 + 0 + 0 + 0 + 0 + 0)10
= (25 + 0×24 + 0×23 + 0×22 + 0×21 + 0×20)10
= (0000100000)2

32の2進数の0と1を反転させて011111
1111011111 + 1 = 1111100000

答え: 1111100000

問題

2の補数10000を10進数で表現すること

解答

10000 - 1 = 01111
01111の0と1を反転させて10000

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

答え: -16

問題

2の補数1011000を10進数で表現すること

解答

1011000 - 1 = 1010111
1010111の0と1を反転させて0101000

(0101000)10
= (0×26 + 25 + 0×24 + 23 + 0×22 + 0×21 + 0×20)10
= (32 + 8)10
= (40)2

答え: -40

問題

(+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 2018, All rights reserved.