Hi, is there a standard rule on widening conversion between signed and unsigned type? I found a reference from this URL: http://developers.sun.com/prodtech/cc/articles/ILP32toLP64Issues.html which also seems to be implemented by gcc. Can anybody confirm on this? TIA. int main() { unsigned int ui = 0xcabcdef2; long long ll_ui = ui; unsigned long long ull_ui = ui; int i = 0xcabcdef2; long long ll_i = i; unsigned long long ull_i = i; printf("ui=%x ll_ui=%llx ull_ui=%llx\n", ui, ll_ui, ull_ui); printf("i=%x ll_i=%llx ull_i=%llx%\n", i, ll_i, ull_i); return 0; } Execution result: ui=cabcdef2 ll_ui=cabcdef2 ull_ui=cabcdef2 i=cabcdef2 ll_i=ffffffffcabcdef2 ull_i=ffffffffcabcdef2 -- Regards, Verdi -- Echte DSL-Flatrate dauerhaft f�r 0,- Euro*! "Feel free" mit GMX DSL! http://www.gmx.net/de/go/dsl