On Tue, 21 Mar 2017 16:39:03 +1030, Daryl Tester wrote:
On Tue, 21 Mar 2017 00:06:28 -0600, Willard Goosey wrote:
But first I desperately need printhex()....
What I/O (well, O) primitives do you have? putc()?
Coz assuming it's putchar() (and I forget whether Small-C had the
trinary
operator, but I'm suspecting it doesn't (and I have a couple of minutes
to kill at work) ...
#include <stdio.h>
void hex4(int c)
{
/* putchar(c < 10 ? c + '0' : c + '0' + 7); */
if (c < 10)
putchar(c + '0');
else
putchar(c + '0' + 7);
}
void hex8(int c)
{
hex4(c >> 4 & 0xf);
hex4(c & 0xf);
}
void hex16(int c)
{
hex8(c >> 8 & 0xff);
hex8(c & 0xff);
}
int
main(int argc, char *argv[])
{
hex8(0xf); putchar('\n');
hex16(0x0); putchar('\n');
hex16(0xff); putchar('\n');
hex16(0xffff); putchar('\n');
hex16(0x0123); putchar('\n');
hex16(0x4567); putchar('\n');
hex16(0x89ab); putchar('\n');
hex16(0xcdef); putchar('\n');
return 0;
}
--
Regards,
Daryl Tester
Handcrafted Computers Pty. Ltd.