Cześć, dlaczego w zmiennej y dostaję wynik 12? Nie powinno tam wyjść 20?
#include <stdio.h> int main() { int x = 6; int y = (x << 1); printf("%d\n", x); printf("%d\n", y); return 0; }
What does a bitwise shift (left or right) do and what is it used for?
#include <stdio.h> char *int2bin(int n) { static char bin[33]; int x; for (x=0; x<32; ++x) { bin[x] = n & 0x80000000 ? '1' : '0'; n <<= 1; } bin[x] = 32; return(bin); } int main() { int x = 6; for (int bit=0; bit<=28; ++bit) { int y = (x << bit); printf("%2d << %-2d = %-10d\t%10d -- %s\n", x, bit, y, y, int2bin(y)); } return 0; }
P.S. Bitwise Calculator - online
93,715 zapytań
142,629 odpowiedzi
323,260 komentarzy
63,257 pasjonatów
Motyw:
Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡
Oto polecana książka warta uwagi.Pełną listę książek znajdziesz tutaj
Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.