>>161続き
int bin_sum(char bin1[N], char bin2[N], int sign)
{
    int dec1= 0, dec2 = 0, result = 0, i;

    if (sign == 0) {//正の2進数を加算
        for (i = N; i > 0; i--) {
            //bin1の2進数を10進数に変換
            if (bin1[N-i] == '1')
                dec1 = dec1 + (int)pow(2.0, (double)(i-1));

            //bin2の2進数を10進数に変換
            if (bin2[N-i] == '1')
                //dec2 = dec2 + 1 * 2^(i-1);
                dec2 = dec2 + (int)pow(2.0, (double)(i-1));
        }
        result = dec1 + dec2;
    } else if (sign == 1) {//2の補数を計算
    ////////////////////////////////////////////////////////
    //    2の補数を計算するプログラム
    ////////////////////////////////////////////////////////////
        for (i = N; i > 0; i--) {
            //bin1の2進数を10進数に変換
            if (bin1[N-i] == '1')
                dec1 = dec1 + (int)pow(2.0, (double)(i-1));