バイナリ進


書式#include <stdio.hに>
する#include <string.hの>

INTのmain(){
int型N、N、K、T、I、J、M。
char型[10005]。
INT B [10005] = {0}。
scanf関数( "%のD"、&N)。// 2
ながら(N - ){
scanf関数( "%s"は、&​​)。// 00011010 1A
N = STRLEN(A)。// N = 8
のためには、(; I <N; iは、0 = I ++)// B [i]は初始化
Bは[I] = 0;
K = 0。
T = 1。
m = 0です。
(; I> = 0; iがn-1 = I - )のために{
B [K] = B [K] +([I] - '0')* Tを; // B [0] = 0、B [0] = 2 B [0] = 2 B [0] = 10 B [1] = 1、B [1] = 1、B [1] = 1、B [1] = 1
、T = T * 2。// T = 2、T = 4、T = 8、T = 16、T = 2、T = 4、T = 8、T = 16
M +。// M = 1、M = 2、M = 3、M = 4、M = 5、M = 6、M = 7、M = 8の
場合(M%4 == 0){
K ++。// K = 2
、T = 1。// T = 1
}
}
(I = 0; iについて<; N I ++){//对B [i]の操作
(= 10 {B [i])とする場合>
スイッチ(B [I]){
ケース10: B [I] = 'A'; ブレーク;
ケース11:B [I] = 'B'。ブレーク;
ケース12:B [I] = 'C'。ブレーク;
ケース13:B [I] = 'D'。ブレーク;
ケース14:B [I] = 'E'。ブレーク;
ケース15:B [I] = 'F'。ブレーク;
}
}
}
のためには、(iがkを=; I> = 0; I - ){
IF(!B [I] = 0){
ため(J = I; J> = 0; J - ){
IF(B [ J]> = 65 && B [j]は<= 70)
のprintf( "%のC"、B [J])。
他のprintf( "%dの"、B [J])。
}
ブレーク;
}
}
もし(I == - 1)のprintf( "0")。
printf( "\ n"は);
}
}

おすすめ

転載: www.cnblogs.com/cocobear9/p/11962824.html