[問題] 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