C/C++の宿題を片付けます 62代目
レス数が900を超えています。1000を超えると表示できなくなるよ。
0928デフォルトの名無しさん
2006/03/26(日) 17:06:18あくまで考え方、つうことでカンベン
めんどくせーから4ケタ、符号ナシでの加算・乗算
main(){
int i;
int bits1[4], bits2[4], addbits[5]={0}, mulbits[8]={0};
/* bits1 と bits2 に入力した数を入れる処理 */
addbits(addbits, bits1, bits2);
for (i=3; i>=0; i--) {
lshift(mulbits);
if (bits2[i]==1)
addbits(mulbits, mulbits, bits1);
}
}
addbits(int out[], int in1[], int in2[]) {
int i, carry=0;
for (i=0; i<4; i++) {
if( (carry ^ in1[i] ^ in2[i]) == 1)
out[i] = 1;
else out[i] = 0;
if (( (in1[i] & in2[i]) == 1) || ( (carry & (in1[i] | in2[i])) == 1))
carry = 1;
else carry = 0;
}
out[4] = carry;
}
lshift万度臭くなったので省略('A`)
レス数が900を超えています。1000を超えると表示できなくなるよ。