• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Odwracanie bitów - operatory bitowe, makro

VPS Starter Arubacloud
0 głosów
361 wizyt
pytanie zadane 10 sierpnia 2020 w C i C++ przez fortuna Początkujący (310 p.)

Mam do napisania makro, które będzie odwracać bity i je wyświetlać.

Napisałem tyle i niestety wyświetla same zera... w czym jest problem?

I wychodzą mi również takie błędy :/

#define REVERSE_BITS(pointer_to_variable){\
    int zm=sizeof(pointer_to_variable);\
    for(int i=0;i<=zm*8-1;++i)\
    {\
         if((pointer_to_variable&((unsigned long long int)1<<i))==0)\
        {\
            printf("0");\
        }else\
        {\
            printf("1");\
        }\
    }\
}

wywołanie: 

        unsigned int liczba;
        unsigned int* wow = &liczba;
        if (scanf("%u", wow) != 1)
        {
            printf("Incorrect input"); return 1;
        }
      
        REVERSE_BITS(*wow);

BŁĘDY: 

                                 ^~~~~~~~~~~~
unit_test_v2.c:2948:17: note: in expansion of macro ‘REVERSE_BITS’
                 REVERSE_BITS(&v);
                 ^~~~~~~~~~~~
functions.h:10:33: error: invalid operands to binary & (have ‘unsigned char *’ and ‘int’)
          if((pointer_to_variable&((int)1<<i))==0)\
                                 ^~~~~~~~~~~~
unit_test_v2.c:2953:17: note: in expansion of macro ‘REVERSE_BITS’
                 REVERSE_BITS(&v);
                 ^~~~~~~~~~~~
unit_test_v2.c: In function ‘UTEST78’:
functions.h:10:33: error: invalid operands to binary & (have ‘unsigned char *’ and ‘int’)
          if((pointer_to_variable&((int)1<<i))==0)\
                                 ^~~~~~~~~~~~
unit_test_v2.c:2989:17: note: in expansion of macro ‘REVERSE_BITS’
                 REVERSE_BITS(&v);
                 ^~~~~~~~~~~~

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
0 odpowiedzi 408 wizyt
pytanie zadane 10 sierpnia 2020 w C i C++ przez fortuna Początkujący (310 p.)
0 głosów
1 odpowiedź 398 wizyt
pytanie zadane 20 czerwca 2018 w C i C++ przez Hiskiel Pasjonat (22,830 p.)
+1 głos
1 odpowiedź 574 wizyt
pytanie zadane 19 czerwca 2021 w JavaScript przez greg456 Nowicjusz (190 p.)

92,845 zapytań

141,786 odpowiedzi

320,861 komentarzy

62,178 pasjonatów

Motyw:

Akcja Pajacyk

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.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...