以下のプログラムを使用して、8桁の2進数の2の補数を計算するプログラムを作成しなさい。

という問題です。
配列aを変更するとどう変わるか添えて提出しなければならないのですがどうしても分かりません。

void main(){
int a[8]={0,1,0,1,0,1,0,1};
int b[8];
twos_complement(a, b);//補数の計算
print_bin(“a=”,a);/*配列の表示*/
print_bin(“b=”,b);
}

実行結果:
a=01010101
b=10101011

どなたかご教授お願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

単純に回答を書けば「丸投げ」になりますので


まず
>8桁の2進数の2の補数を計算するプログラム
ですから「2の補数」は理解していますか?
「2の補数」は対象となる内容をビット反転し、その結果に+1することで求められます。
二進数で「00000001」なら、補数は(反転:11111110)+1で「11111111」です。


その補数の計算を
>twos_complement(a, b);//補数の計算
で行います。
渡す引数の型などは
>int a[8]={0,1,0,1,0,1,0,1};
から判断できます。

>print_bin(“a=”,a);/*配列の表示*/
>print_bin(“b=”,b);

実行結果
>a=01010101
>b=10101011
から、どのように内容を表示すればよいのかが判断できます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング

おすすめ情報