int 与 unsigned int

cpp primer  P31

带符号类型和不带符号类型

1、除去布尔型和扩展字符外,其他整型可以划分为带符号的(signed)和无符号的(unsigned)两种。signed类型可以表示正数、负数或0,无符号类型则仅能表示大于等于0的值。

unsigned int 可以所写成 unsigned

2、当我们赋值给无符号类型一个超出他表示范围的值时,结果是初始值对无符号类型表示数值总数取模后的余数。

3、当一个表达式里既有带符号类型又有无符号类型,当带符号类型为负时会出现异常结果,因为带符号数会自动转换成无符号数

4、把负数转换成无符号数类似于直接给无符号数赋一个负值,结果等于这个负数加上无符号数的模。

写循环的时候,注意循环变量的类型,下面的代码会出现死循环,因为 i永远都不会取到负值

for(unsigned u=10; u>=0 ;u--){
   cout<<u;
}

猜你喜欢

转载自blog.csdn.net/qq_29996285/article/details/84201603