Line 310 of this file
PrintAndLogEx(NORMAL, "DEZ 10 : %010" PRIu64, id & 0xFFFFFFFF);
For people who are not comfortable with code I thought I’d add an explanation (admittedly I could be wrong I’m a tad sleepy and I haven’t done much C coding recently):
All that really matters is this bit:
"DEZ 10 : %010" PRIu64, id & 0xFFFFFFFF
"DEZ 10 : %010" PRIu64 is a format string. Simply put this prints
DEZ 10: and a 64bit unsigned number an 0 fills it. So
DEZ 10: 0000000099 and
PRIu64 is a format specifier, introduced in C99, for printing
uint64_t , where
uint64_t is an unsigned integer type with width of 64 bits respectively.
%010 means 0 fill to size 10. Dez 8 is similar but is
%08 which would 0 fill to 8 characters.
id & 0xFFFFFFFF takes the UID of the card and performs a bitwise and with 0xFFFFFFFF which is a hexadecimal representation of the maximum 32 bit number.
Basically the code is truncating the UID to the 32 most significant bits and then printing it as a 10 digit number.