Ich habe den folgenden Code-Snippetint zu char Typumwandlung
#include <stdio.h>
int main()
{
int i1 = 0x18f;
char c1 = i1;
char c2 = 15;
unsigned short s1 = 0174670;
printf("1) %o\n", i1);
printf("2) %d\n", c1);
i1 = c1;
printf("3) %d\n", i1 & c2);
printf("4) %x\n", s1 ^= 0x5555);
}
mit diesem Ausgang
1) 617
2) -113
3) 15
4) aced
Könnte jemand erklären, warum die zweite und vierte Ausgänge -113 kommen und aced sind. Vielen Dank.
Ich kann verstehen, warum Sie über die zweite verwirrt sind. Aber warum um die vierte? –
Es ist eine Hexadezimalzahl. Kommt mir bekannt vor? –
% x erzeugt hex. ACED basae 16 = 10 * 16^3 + 12 * 16^2 + 14 * 16^1 + 13 * 16^0 (genau wie 456 base 10 = 4 * 10^2 + 5 * 10^1 + 6 * 10^0) – ikegami