#include "stdio.h"
int main( void ){
unsigned short u = 0xaabb;
unsigned int v = 0xaabb;
printf ("%08x %08x\n", u
, ((u
*0x10001)/0x100)); printf ("%08x %08x\n", v
, ((v
*0x10001)/0x100)); printf ("unsigned short casted:\n"); printf ("%08x %08x\n", u
, (unsigned short)((u
*0x10001)/0x100)); printf ("%08x %08x\n", v
, (unsigned short)((v
*0x10001)/0x100)); printf ("x=%08x d=%d\n", u
*0x10001, u
*0x10001); // Solution
printf (">>> %08x %08x\n", u
, (unsigned short)((u
*0x10001UL
)/0x100UL
)); printf (">>> %08x %08x\n", v
, (unsigned short)((v
*0x10001UL
)/0x100UL
)); return 0;
}
I2luY2x1ZGUgInN0ZGlvLmgiCmludCBtYWluKCB2b2lkICl7CiAgdW5zaWduZWQgc2hvcnQgdSA9IDB4YWFiYjsKICB1bnNpZ25lZCBpbnQgICB2ID0gMHhhYWJiOwogIHByaW50ZiAoIm5vdCBjYXN0ZWQ6XG4iKTsKICBwcmludGYgKCIlMDh4ICUwOHhcbiIsIHUsICgodSoweDEwMDAxKS8weDEwMCkpOwogIHByaW50ZiAoIiUwOHggJTA4eFxuIiwgdiwgKCh2KjB4MTAwMDEpLzB4MTAwKSk7CiAgcHJpbnRmICgidW5zaWduZWQgc2hvcnQgY2FzdGVkOlxuIik7CiAgcHJpbnRmICgiJTA4eCAlMDh4XG4iLCB1LCAodW5zaWduZWQgc2hvcnQpKCh1KjB4MTAwMDEpLzB4MTAwKSk7CiAgcHJpbnRmICgiJTA4eCAlMDh4XG4iLCB2LCAodW5zaWduZWQgc2hvcnQpKCh2KjB4MTAwMDEpLzB4MTAwKSk7CiAgcHJpbnRmICgidSoweDEwMDAxOlxuIik7CiAgcHJpbnRmICgieD0lMDh4IGQ9JWRcbiIsIHUqMHgxMDAwMSwgdSoweDEwMDAxKTsKICAvLyBTb2x1dGlvbgogIHByaW50ZiAoIlNvbHV0aW9uOlxuIik7CiAgcHJpbnRmICgiPj4+ICUwOHggJTA4eFxuIiwgdSwgKHVuc2lnbmVkIHNob3J0KSgodSoweDEwMDAxVUwpLzB4MTAwVUwpKTsKICBwcmludGYgKCI+Pj4gJTA4eCAlMDh4XG4iLCB2LCAodW5zaWduZWQgc2hvcnQpKCh2KjB4MTAwMDFVTCkvMHgxMDBVTCkpOwogIHJldHVybiAwOwp9