Witam!
Mam problem z napisaniem chyba dość prostego programu. Program ten jak w temacie powinien sprawdzać stan n-tego wybranego bitu liczby całkowitej. Jedno i drugie podane z klawiatury.
C uczę się w sumie od niedawna i nie wiele umiem, pragnąłbym zauważyć na wstępie, więc proszę o wyrozumiałość i nie wytykanie błędów aż tak ;)
Więc w sumie doszedłem do prostej rzeczy, by podawać bit do sprawdzenia oraz liczbę:
#include <conio.h>
#include <stdio.h>
#include <iostream.h>
int liczba;
int bit;
int main()
{
printf("Podaj liczbe: ");
scanf("%d", &liczba);
printf("Podaj bit: ");
scanf("%d", &bit);
getch();
}
I w sumie powinienem przejść dalej. Zamienić liczbę podaną na liczbę binarną.
I tu mam w sumie problem bo próbowałem różnie: funkcją bitset, sizeof oraz fukcjami, które znalazłem w internecie. Przy tych przynajmniej kompilator nie wywala błędów... Tylko, że nie wiem jak mam to napisać poprawnie by działało jak powinno.
no, ale kombinując otrzymałem taki oto twór:
#include <conio.h>
#include <stdio.h>
#include <iostream.h>
int liczba;
int bit;
int main()
{
printf("Podaj liczbe: ");
scanf("%d", &liczba);
printf("Podaj bit: ");
scanf("%d", &bit);
}
string byteToBin(unsigned char byte)
{
string binary;
for (int liczba=sizeof(byte)*8-1;liczba>=0;liczba--)
{
unsigned char bit=((byte>>liczba)&1);
binary+=bit;
}
return binary;
}
jest to źle, tyle wiem.
więc proszę o rady, jak możecie poprawcie ten kod na prawidłowo, bym chociaż mógł ruszyć z tym dalej...
dzięki z góry.