下記の2進数の計算について、結果を10進数で答えること
※オーバーフローと2の補数を考慮すること
2進数7桁の足し算「0011010+1011101」の結果を10進数で計算すること
0011010 + 1011101 = 1110111
→一番大きな桁が1なので、この数はマイナスの数(2の補数の方法で10進数に直す)
1110111 - 1 = 1110110
1110110の0と1を反転させて0001001
(0001001)2
= (0×26 + 0×25 + 0×24 + 1×23 + 0×22 + 0×21 + 1×20)10
= (8 + 1)10
= (9)10
答え: -9
2進数5桁の足し算「11001+11001」の結果を10進数で計算すること
11001 + 11001 = 110010
→5桁の計算なので、桁あわせし(5桁目を削除し)、10010
→一番大きな桁が1なので、この数はマイナスの数(2の補数の方法で10進数に直す)
10010 - 1 = 10001
10001の0と1を反転させて01110
(01110)2
= (0×24 + 1×23 + 1×22 + 1×21 + 0×20)10
= (8 + 4 + 2)10
= (14)10
答え: -14
2進数8桁の足し算「11011011+10001000」の結果を10進数で計算すること
11011011 + 10001000 = 101100011
→8桁の計算なので、桁あわせし(9桁目を削除し)、01100011
→一番大きな桁が0なので、この数はプラスの数
(01100011)2
= (0×27 + 1×26 + 1×25 + 0×24 + 0×23 + 0×22 + 1×21 + 1×20)10
= (64 + 32 + 2 + 1)10
= (99)10
答え: 99
2進数6桁の足し算「001001+111000」の結果を10進数で計算すること
001001 + 111000 = 1000001
→6桁の計算なので、桁あわせし(7桁目を削除し)、000001
→一番大きな桁が0なので、この数はプラスの数
(000001)2
= (0×25 + 0×24 + 0×23 + 0×22 + 0×21 + 1×20)10
= (1)10
答え: 1
2進数8桁の足し算「11111111+00100111」の結果を10進数で計算すること
11111111 + 00100111 = 100100110
→8桁の計算なので、桁あわせし(9桁目を削除し)、00100110
→一番大きな桁が0なので、この数はプラスの数
(00100110)2
= (0×27 + 0×26 + 1×25 + 0×24 + 0×23 + 1×22 + 1×21 + 0×20)10
= (32 + 4 + 2)10
= (38)10
答え: 38
2進数9桁の足し算「110001101+000011011」の結果を10進数で計算すること
110001101 + 000011011 = 110101000
→一番大きな桁が1なので、この数はマイナスの数(2の補数の方法で10進数に直す)
110101000 - 1 = 110100111
110100111の0と1を反転させて001011000
(001011000)2
= (0×28 + 0×27 + 1×26 + 0×25 + 1×24 + 1×23 + 0×22 + 0×21 + 0×20)10
= (64 + 16 + 8)10
= (88)10
答え: -88
2進数5桁の数「00110」を5倍した結果を10進数で計算すること
(00110)2×(5)10 = (00110 + 00110 + 00110 + 00110 + 00110)2 = (11110)2
→一番大きな桁が1なので、この数はマイナスの数(2の補数の方法で10進数に直す)
11110 - 1 = 11101
11101の0と1を反転させて00010
(00010)2
= (0×24 + 0×23 + 0×22 + 1×21 + 0×20)10
= (2)10
答え: -2
2進数7桁の数「1100110」を4倍した結果を10進数で計算すること
(1100110)2×(4)10 = (1100110 + 1100110 + 1100110 + 1100110)2 = (110011000)2
→7桁の計算なので、桁あわせし(8~9桁目を削除し)、0011000
→一番大きな桁が0なので、この数はプラスの数
(0011000)2
= (0×26 + 0×25 + 1×24 + 1×23 + 0×22 + 0×21 + 0×20)10
= (16 + 8)10
= (24)10
答え: 24
2進数5桁の数「11100」を左に2ビットシフトした結果を10進数で計算すること
11100を左に2ビットシフト = 1110000
→5桁の計算なので、桁あわせし(6~7桁目を削除し)、10000
→一番大きな桁が1なので、この数はマイナスの数(2の補数の方法で10進数に直す)
10000 - 1 = 01111
01111の0と1を反転させて10000
(10000)2
= (1×24 + 0×23 + 0×22 + 0×21 + 0×20)10
= (16)10
答え: -16
2進数10桁の数「0001101011」の左に4ビットシフトした結果を10進数で計算すること
0001101011を左に4ビットシフト = 00011010110000
→10桁の計算なので、桁あわせし(11~14桁目を削除し)、1010110000
→一番大きな桁が1なので、この数はマイナスの数(2の補数の方法で10進数に直す)
1010110000 - 1 = 1010101111
1010101111の0と1を反転させて0101010000
(0101010000)2
= (0×29 + 1×28 + 0×27 + 1×26 + 0×25 + 1×24 + 0×23 + 0×22 + 0×21 + 0×20)10
= (256 + 64 + 16)10
= (336)10
答え: -336
Copyright (C) Junko Shirogane, Tokyo Woman's Christian University 2016, All rights reserved.