Witam, chciałbym napisać kod do programu pobierającego liczbę całkowitą i sprawdzający czy bit 5 i 11 ma wartość 0 lub 1 w C.
#include<stdio.h>
int main()
{
int liczba;
printf ("Podaj liczbe calkowita:\n");
scanf("%d",&liczba);
if (liczba & 1 << 4)
{
printf ("4 bit ma wartosc 1\n");
}
if (liczba & 1 << 10)
{
printf ("10 bit ma wartosc 1\n");
}
}
Sprawdzenie bitu 5 działa, natomiast 11 nie. Dlaczego?