0
我創建的代碼只是從用戶獲得一個十進制數並將其轉換爲二進制。我試圖從0到輸入的十進制數字的二進制數製成一個二進制計數器。二進制數的位存儲在一個數組中,每一位都有自己的位置。我明白,我將不得不作出一個二維數組來做到這一點,但我不知道如何或在哪裏實施這個二維C在二維計數器
#include <stdio.h>
#include <math.h>
int main(void){
int binary,loop_number,i;
printf("Enter in your binary number :");
scanf("%d", &binary);
//loop number calculates the number of bits of the binary number
loop_number = log2(binary)+1;
int binary_array[binary][loop_number];
int newarray[binary][loop_number];
for(int n=0;n<binary;n++) {
for(i=0;i<loop_number;i++) {
if(n==1){
binary_array[n][i]=1;
} else if(n%2==0) {
binary_array[n][i]=0;
} else if(n==0) {
binary_array[n][i]=0;
} else {
binary_array[n][i]=1;
}
n = n/2;
}
//the binary array of bits is backwards here so im going to put the bits the correct way
for(int n=0;n<binary;n++) {
for(i = 0; i < loop_number; i++){
newarray[n][i] = binary_array[n][loop_number-i-1];
}
}
}
printf("\n\n");
for(int n=0;n<binary;n++){
for(i=0;i<loop_number;i++){
printf("%d",newarray[n][i]);
}
printf("\n");
}
}
嗯,轉換爲二進制?爲什麼你需要一個二維數組?我認爲一個小循環會做這樣的事情:'for(i = 0,bit = 1; bit
Holger