Ich arbeite an einem Projekt, wo ich eine binäre Zahl als eine Variable habe, die ich versuche, in ein Array zu machen, so dass ich durch den Index gehen und auf 0 oder 1 testen kann habe versucht, andere Fragen hier nachzuschlagen, kann aber nicht genau das finden, wonach ich suche. Im Moment habe ich das Array vordefiniert, damit ich überprüfen kann, ob meine if-Anweisungen ordnungsgemäß funktionieren und sie tun. Die Dezimalzahl, die durch den Parameter eingegeben wird, wird an die Funktion decToBin gesendet, um in eine binäre Zahl umgewandelt zu werden, und gibt die Binärzahl zurück. Ich möchte Folgendes:Eine Variable in ein Array in C einfügen
binA[size] = decToBin(decimal);
Die Größenvariable ist die Größe der Binärzahl.
void relation (int decimal)
{
int size = ((floor(log2(decimal)))+ 1);
//char binA[size];
int binA[] = {1,1,0,0,1,0,0};
if (size > 1)
{
for(int i = 1; i < (size - 1) ; i++)
{
if (binA[i] == 0)
printf("Father's ");
if (binA[i] == 1)
printf("Mother's ");
}//end for
for(int i = (size -1); i < size; i++)
{
if (binA[i] == 0)
printf("Father ");
if (binA[i] == 1)
printf("Mother ");
}//end for
}//end if
else
printf("Self");
printf("\n");
} //end relation
Kommentare: Die binäre Zahl ist vom Typ int. Der Grund, warum ich die zweite Schleife mache, ist so, dass das letzte Wort nicht "s" hat. Hier ist ein Beispiel für eine Ausgabe mit der Binärzahl 1010: Vaters Vater. Selbst wird gedruckt, wenn die binäre Zahl nur eine Größe von 1 Hier ist der Code für meine decToBin Funktion
int decToBin (int decimal)
{
int rem = 0; //sets remainder to 0
int binary = 0; //sets answer to 0
int x = 1; //sets x to 1
while(decimal != 0)
{
rem = decimal % 2; //lets remainder = whatever is left after diving by 2
decimal = decimal/2; //lets input = input divided by 2
binary = binary + (rem * x); //answer = answer + the remainder times x
x = x * 10; //x now = itself times 10 for the next loop
} //end while
//printf("Ahnentafel number in binary: %d\n", binary);
return binary;
} //end decToBin
Was ist "Binärzahl"? Welche Art von Variable ist das? –
In 'for (int i = 1; i <(Größe - 1); i ++)' Warum beginnen Sie mit dem Array-Index '1' und enden mit einer Größe, die nicht mit der Array-Größe zusammenhängt? –
Auf einem ** binären ** Digitalrechner ist jede Variable eine "Binärvariable". Sie können Variablen nicht irgendwo platzieren. Sie können den Wert jedoch einer anderen Variablen zuweisen. – Olaf