c++的自我修养

类型转换

  1. 当我们给无符号类型一个超出他表示范围的数的时候,其结果是该数对无符号类型表示数值总数取模后的数
unsigned char c = -1;  //255
unsigned char c = -10; //246

何为取模运算?

欲求a对b的模或者余
模&余 = a - c * b; dada
而其中 c = a / b 结果取整数 (模向负无穷方向舍,余向0方向舍)
可以看出只有对负数才是有区别的

  1. 当我们赋给带符号类型的变量一个超过他表示范围的值的时候,结果是未定义的

你可能感兴趣的:(c++的自我修养)