Gast
#2445740
HILFEEEE :-)
Ich habe zu folgender Aufgabenstellung, das folgende Programm
geschrieben. Ich weiß nur nicht, wie ich die Rückgabe der Positionen
umsetzen kann.
***
Aufgabenstellung:
Gesucht ist eine Funktion, welche die Position der ersten 2 Einsen eines
8-Bit-Wert zurückliefert.
***
// Uebungsbeispiel 4
#include<stdio.h>
/***********************************************************************
*******/
int bitsearch(unsigned char);
/***********************************************************************
*******/
int main(void)
{
unsigned char data;
int stellen;
printf("Bitte geben Sie einen Wert ein(max. 0xFF): ");
scanf("%x", &data);
printf("\n");
printf("Die ersten 2 Einesn sind an folgenden Stellen: \n\n");
stellen = bitsearch(data);
system("pause");
return 0;
}
/***********************************************************************
*******/
int bitsearch(unsigned char data)
{
unsigned char mask = 0x01;
int i;
int counter1 = 0;
int counter2 = 0;
for(i = 0; i <= 7; i++)
{
if(counter2 <= 1)
{
if((data&mask)!=0)
{
printf("Stelle: %i\n\n", counter1);
counter2++;
}
counter1++;
mask = mask <<1;
}
}
return counter1;
}
/***********************************************************************
*******/