[问题] short assign给unsigned int的问题

楼主: michael47 (hitman)   2014-08-26 22:26:43
开发平台(Platform):Linux GCC
// Code:
short short_int_1;
unsigned int u_int_tmp;
short_int_1 = 0xF0F0;
u_int_tmp = short_int_1;
printf("u_int_tmp = %#010x\n", u_int_tmp);
u_int_tmp = 0;
printf("u_int_tmp = %#010x\n", u_int_tmp);
u_int_tmp = u_int_tmp | short_int_1;
printf("u_int_tmp = %#010x\n", u_int_tmp);
作者: Schottky (顺风相送)   2014-08-26 22:53:00
你有意识到这 signed short 是负数吗?
楼主: michael47 (hitman)   2014-08-26 23:01:00
请问有办法将short以bit copy的方式assign给int吗?回楼上,我知道这个short是负数
作者: LPH66 (-6.2598534e+18f)   2014-08-26 23:13:00
(unsigned int)(unsigned short)signed_short_value
作者: firose (guest也是也是也是也是也)   2014-08-26 23:18:00
sign extension / zero extension
楼主: michael47 (hitman)   2014-08-26 23:19:00
感谢LPH66的方法我会找时间搜寻firose的提示,感谢分享资讯
作者: suhorng ( )   2014-08-27 16:42:00
话说那样 signed 转 unsigned 到底是怎么定义的呢?
作者: shadow0326 (非议)   2014-08-27 16:49:00
作者: suhorng ( )   2014-08-27 17:06:00
got it thanks

Links booklink

Contact Us: admin [ a t ] ucptt.com