まず、与えられた10進数を5ビットの2進数に変換する。負の数は2の補数で表現する。2の補数は、元の2進数のビットを反転させ、1を加えることで得られる。その後、2つの数を加算し、結果を5ビットの2の補数表現で表す。オーバーフローが発生した場合、必要なビットを切り捨てる。
各計算について、以下の手順で進める。
(1) 5(d)−3(d): - 510=001012 - 310=000112. −310の2の補数は、111002+1=111012 - 001012+111012=1000102 - オーバーフローするので、最上位ビットを切り捨てて、000102=210 (2) 5(d)−15(d): - 510=001012 - 1510=011112. −1510の2の補数は、100002+1=100012 - 001012+100012=101102=−1010 (3) −9(d)−6(d): - 910=010012. −910の2の補数は、101102+1=101112 - 610=001102. −610の2の補数は、110012+1=110102 - 101112+110102=1100012 - オーバーフローするので、最上位ビットを切り捨てて、100012=−1510 (4) −12(d)−4(d): - 1210=011002. −1210の2の補数は、100112+1=101002 - 410=001002. −410の2の補数は、110112+1=111002 - 101002+111002=1100002 - オーバーフローするので、最上位ビットを切り捨てて、100002=−1610 (5) −7(d)−6(d): - 710=001112. −710の2の補数は、110002+1=110012 - 610=001102. −610の2の補数は、110012+1=110102 - 110012+110102=1100112 - オーバーフローするので、最上位ビットを切り捨てて、100112=−1310 2の補数を使用する理由は、「減算を、負数の作成と加算処理で行うことができる」ため。