タイトルを見てください:
手段:負バイナリ変換10進数、バイナリ変換10進数は、誰にでも明らかで、次いで2丸いダウン、出力逆の順序で割った余りを取ります
同様の負バイナリ変換:-2つ以上のペアを取って、そして絶対値をとります
2.結果は配列に格納されています
3.マイナス残りと分割-2
4.逆の順序で印刷します
コード:
//負のバイナリ変換 / * バイナリ小数ターンとして真実 注:入力の複数のセット * / 書式#include <stdio.hに> 書式#include <math.h>の INTメイン(){ int型のn; INT結果[105]。 一方、(scanf関数( "%のD"、&N)!= EOF){ //ストレージ負のバイナリ文字列 int型のカウント= 0; //配列の添字 (nは== 0){//場合は0を忘れないように、アカウントにどのような状況を取る必要があります printf( "0"); } 一方、(N!= 0){ INT W = ABS(N%-2); // C言語ABS()関数は、整数演算に必要なヘッダファイルの絶対値を見つけるために使用されています [カウント++] = Wをもたらします。 N =(N - W)/(-2); //ここでは留意すべき様々なバイナリおよびトランスフェリン } //逆順に出力 以下のために(INT iがカウント= - 1; I> = 0; I - ){ printf( "%dの"、結果[I])。 } printf( "\ n" は); } 0を返します。 }