0
私のプロジェクトでは、16進数の計算機を作成する必要があります。さらに、それをバイナリに変換して表示する必要があります。私は読むことができ進数の最大値は「8」ですが、私は0 Ejとして最初の二進数を満たす必要が8文字未満の16進読めば:ヘックスにCで0の配列を塗りつぶす方法
を:バイナリでADA0CAFE
: 10101101 10100000 11001010 11111110
しかし、私のような六角取得する場合:C45FA
を出力する必要があります:私のコードの00000000 00001100 01000101 11111010
一部は、このような何かを見て:
char hex[100];
printf("Hexadecimal: ");
scanf("%s",hex);
convert(hex);
し、それを変換する機能:
void convert(char hex[]){
for(i=0;i<8;i++){
switch(hex[i]){
case '0': printf("0000"); break;
case '1': printf("0001"); break;
case '2': printf("0010"); break;
case '3': printf("0011"); break;
.
.
.
}
だから私は、配列の最初の位置を取得することですどのように把握いけない部分は0で埋め、その後の文字で配列を書き始めますの16進数です。 convert
で