crazybird

unsigned强制类型转换将有符号数转无符号数

0
阅读(2721)

在C/C++中,用unsigned强制类型转换将有符号数转为无符号数。需要注意的是,这里用unsigned强制类型转换并不是求绝对值的意思,例如int x = -1,(unsigned)x并不等于1,而是等于4294967295。原因是计算机中的数据是以补码的形式存储的,即x = -1存储为十六进制数FFFFFFFF,现在将其由有符号数看成无符号数,即可算出(unsigned)x = 4294967295。