Ich verstehe, dass es eine Zahl aufnehmen und ein Zeichen zurückgeben wird. Ich verstehe, was jede Codezeile macht, aber ich kann nicht wirklich ausdrücken, was sie insgesamt sinnvoll macht. Irgendwelche Ideen?Was macht diese C-Funktion?
int function(uint64_t P1) {
uint64_t L1 = P1;
uint32_t L2 = 1;
while (L1 > 15) {
L2 = (uint64_t)L2 << 4;
L1 = L1 >> 4;
}
uint32_t L3 = 0;
while (L2 != 0) {
L1 = P1;
uint32_t L4 = 0;
L4 = L1 % L2;
uint64_t L5 = (uint64_t)L4;
sub_function(L1/L2);
L3++;
P1 = L5;
L2 = (uint64_t)L2 >> 4;
}
L1 = L3;
return L1;
}
void sub_function(uint64_t P1) {
if (P1 <= 9) {
printf("%c", P1 + 48);
} else {
printf("%c", P1 + 55);
}
}
Es scheint Umwandlung von dezimal nach hexadezimal zu sein – AndyG
Da "L2" nur 32 Bit ist, bin ich mir da nicht so sicher. – Gerhardh
@Gerhardh: Ich kam zu meiner Schlussfolgerung empirisch. Ohne aussagekräftige Namen und Kommentare ist es schwierig, etwas anderes zu sagen. – AndyG