signed为有符号,unsigned为无符号的。
本质上的差别: int 型的范围:-2^31 ~ 2^31 - 1,而unsigned int的范围:0 ~ 2^32
存储上的差别:无符号版本和有符号版本的区别就是无符号类型能保存2倍于有符号类型的正整数数据。
运算规则
有符号的打印为%d,无符号的打印为%u
由于算术转换的原因,
int转换成unsigned int ,如果两个数运算的结果为正数就和正常的运算是一样的,但如果为负数,则为一个很大的正数,因为unsigned int中存储的是只有正数,没有负数,所以会得到一个由负数经过转换之后得来的一个比较大的正数。
在一般情况下,写出有符号signed的目的是为了强调有符号这个性质,不写的话默认为有符号。无符号一般情况下需要自己写出来。