I am working with the tricore v3.4.6 compiler.
Suppose I have a signed integer like sint32 a = -1
and want to print that with printf
.
I tried printf("Signed number %i", a)
as well as printf("Signed number %d", a)
which both gives me compiler warnings, for example
warning: int format, sint32 arg
unlike suggested in the comments to the question,
sint32
is not uncommon in safety critical and embedded systems and usually falls back to a typecast forint
. (e.g. in some MISRA environments).Hence
should do the trick anyways. tested with gcc v5.2.1 and arm-gcc v5.2.1 (-Wall and no warnings).
If it still gives you a warning try to figure out what
sint32
really maps to and trylong
-print:printf("%ld")
. However, then double check if the byte length ofsint32
really is 32bits? (and some systems may even have less than a 32bit architecture)