#include <stdio.h>
int fun1(unsigned);
int fun2(unsigned);
int main(void)
{
printf("%#x,%#x\n",fun1
(0x00000076),fun2
(0x00000076)); printf("%#x,%#x\n",fun1
(0x87654321),fun2
(0x87654321)); printf("%#x,%#x\n",fun1
(0x000000c9),fun2
(0x000000c9)); printf("%#x,%#x\n",fun1
(0xedcba987),fun2
(0xedcba987)); return 0;
}
int fun1(unsigned word)
{
return (int)((word <<24)>>24);
}
int fun2(unsigned word)
{
return ((int)word<<24)>>24;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgZnVuMSh1bnNpZ25lZCk7CmludCBmdW4yKHVuc2lnbmVkKTsKaW50IG1haW4odm9pZCkgCnsKCXByaW50ZigiJSN4LCUjeFxuIixmdW4xKDB4MDAwMDAwNzYpLGZ1bjIoMHgwMDAwMDA3NikpOwoJcHJpbnRmKCIlI3gsJSN4XG4iLGZ1bjEoMHg4NzY1NDMyMSksZnVuMigweDg3NjU0MzIxKSk7CglwcmludGYoIiUjeCwlI3hcbiIsZnVuMSgweDAwMDAwMGM5KSxmdW4yKDB4MDAwMDAwYzkpKTsKCXByaW50ZigiJSN4LCUjeFxuIixmdW4xKDB4ZWRjYmE5ODcpLGZ1bjIoMHhlZGNiYTk4NykpOwoJcmV0dXJuIDA7Cn0KCmludCBmdW4xKHVuc2lnbmVkIHdvcmQpCnsKCXJldHVybiAoaW50KSgod29yZCA8PDI0KT4+MjQpOwp9CgppbnQgZnVuMih1bnNpZ25lZCB3b3JkKQp7CglyZXR1cm4gKChpbnQpd29yZDw8MjQpPj4yNDsKfQo=