Negacja bitów tekstu, tak aby nie wyświetlało przed nim ffffff

0

Mam pytanie odnośnie negacji, Chciałbym zanegować tekst, tak aby nie wyświetlało mi przed nim ffffff. w tym celu użyłem & aby pozbyc się znaku, jednak ten działa tylko w printf, i nie mam pojęcia dlaczego. Oto przykładwoy kod.

#include <stdio.h>
int main()
{
    char a='A';
    a=~a&255;
    printf("%x %x",a,a&255);
    return 0;
}
0

W printf masz niejawną konwersję z char do int, jako że są to liczby ze znakiem, następuje duplikacja najstarszego bitu.
http://www.cplusplus.com/reference/cstdio/printf/ - tabela specifiers
https://wandbox.org/permlink/BQQ8XujqLpZvxRfh
https://wandbox.org/permlink/2iebR2YaLENLcfsi

1 użytkowników online, w tym zalogowanych: 0, gości: 1