Hallo
Deze code heb ik beschikbaar maar de bedoeling is dat we bit 7 met bit 13 omdraaien. Nu heb ik een werkende oplossing maar deze is zo lelijk dat elke willekeurige programmeur hier de tranen van in de ogen springen.
orgineel (deze draait dus nog niets om)
mijn oplossing:
Nu had ik in gedachte om hier een mooie functie voor te maken. Maar hoe zorg ik er voor dat mijn variable namen dynamisch worden zodat zeg maar tempx krijg, en dat x dan voor het getal staat. Of hebben jullie andere ideeën. Het is een school opdracht dus gelieve niet complete antwoorden geven maar in de richting helpen wordt sterk gewaardeerd.
Deze code heb ik beschikbaar maar de bedoeling is dat we bit 7 met bit 13 omdraaien. Nu heb ik een werkende oplossing maar deze is zo lelijk dat elke willekeurige programmeur hier de tranen van in de ogen springen.
orgineel (deze draait dus nog niets om)
Code:
#include <stdio.h>
unsigned int x, getal;
unsigned int masker = 0x8000;
int main(void)
{
printf("geef een getal: ");
scanf("%d", &getal);
for(x=0; x < 16; x++)
{
if((getal & masker) != 0)
printf("1");
else
printf("0");
masker = masker >> 1;
}
printf("\nKlaar\n");
return 0;
}
mijn oplossing:
Code:
#include <stdio.h>
unsigned int x, getal, temp13, temp8, temp9, temp10, temp11, temp12, temp7, temp14, temp15;
unsigned int masker = 0x8000;
int main(void)
{
printf("geef een getal: ");
scanf("%d", &getal);
for(x=0; x < 16; x++)
{
if(x < 7)
{
if((getal & masker) != 0)
printf("1");
else
printf("0");
}
if(x == 7)
{
if((getal & masker) != 0)
temp7 = 1;
else
temp7 = 0;
}
if(x == 8)
{
if((getal & masker) != 0)
temp8 = 1;
else
temp8 = 0;
}
if(x == 9)
{
if((getal & masker) != 0)
temp9 = 1;
else
temp9 = 0;
}
if(x == 10)
{
if((getal & masker) != 0)
temp10 = 1;
else
temp10 = 0;
}
if(x == 11)
{
if((getal & masker) != 0)
temp11 = 1;
else
temp11 = 0;
}
if(x == 12)
{
if((getal & masker) != 0)
temp12 = 1;
else
temp12 = 0;
}
if(x == 13)
{
if((getal & masker) != 0)
temp13 = 1;
else
temp13 = 0;
}
if(x == 14)
{
if((getal & masker) != 0)
temp14 = 1;
else
temp14 = 0;
}
if(x == 15)
{
if((getal & masker) != 0)
temp15 = 1;
else
temp15 = 0;
}
masker = masker >> 1;
}
printf("%d%d%d%d%d%d%d\n", temp13, temp8, temp9, temp10, temp11, temp12, temp7, temp14, temp15);
printf("\nKlaar\n");
return 0;
}
Laatst bewerkt: