Witam, mam kod i mam go przekształcić w taki kalkulator, który wykonuje operacje bitowe and,or,xor,negacja. Użytkownika podaje 2 liczby następnie wybiera operator(&,I,^,~) i otrzymuje argumenty oraz wynik w postaci binarnej.
KOD :
#include <stdio.h>
#include <stdlib.h>
int main()
{
char tab1[8];
printf("Prosze podac liczbe:\n");
scanf("%s", &tab1);
int wartosc=walidacja(tab1);
konwersja(wartosc);
return 0;
}
int konwersja(int z)
{
printf("Podana liczba w systemie binarnym to:\n");
for (int y = 7; y >= 0; y--) {
if ((y + 1) % 8 == 0) printf(" ");
printf("%1d", (( z >> y ) % 2));
}
return 0;
}
int walidacja(char *tab1)
{
int y=0;
while (*tab1 != '\0')
{
if (*tab1 >= 48 && *tab1 <= 57)
{
if (y == 0 && *tab1 == 48)
{
printf("Wprowadzono nieprawidlowe dane\n");
return 0;
}
tab1++;
}
else
{
printf("Wprowadzono nieprawidlowe dane\n");
return 0;
}
y++;
}
tab1 = tab1 - y;
int wartosc = 0;
while (*tab1 != '\0')
{
wartosc = wartosc + (*tab1 - '0');
wartosc = wartosc * 10;
tab1++;
}
wartosc = wartosc / 10;
return wartosc;
}