我只了解了gets、puts、printf、scanf、if、else if、for循环、while循环和数组。如何解决这个问题呢 ?我只使用基本的 C++。
#include <stdio.h>
int main() {
int i,r,j,num,binari[8];
scanf("%d",&num);
for(i=0;num>=0;i++) {
if(num%2==1)
binari[i]=num%2;
if (num%2==0)
{ binari[i]=num%2; }
num=num/2;
}
for (j=i;j>=0;j--) {
printf("%d",binari[j]);
}
system("pause");
return 0;
}
将整数值转换为其ascii二进制代码,有很多方法。我使用手动方式(与在纸上进行的方式相同):
int DecToBin(int N) {
int multiplyer = 1; // fot arranging digits. like : 1*(once digit) + 10*(tens digit) + ...
int finalBin = 0; // final output
// loop for continuous division by 2 , to find remainders and making finalBin number using the digits:
while (N >=1){
int digit = N % 2; // getting the binARY DIGIT.
N /= 2; // N = N/2 for next iteration
finalBin += digit * multiplyer; // NUMBER = ONCE*1 TENS*10 THOUSANDS*1000 + ...
multiplyer *= 10; // 1 10 10 1000 ...
}
return finalBin;
}