首页 > 代码库 > 坑爹的uint32_t

坑爹的uint32_t

首先看看下面这段程序:

uint32_t compare;

for (uint32_t i = compare; i >= 0; --i) {

  

  

    ..........

  

}

这是一段比较危险的程序, 当 i的值变为 -1的时候,其实由于i是一个非负数整形,强制类型转换后,i又变为一个很大的数,

后果就是得不到自己想要的结果,甚至相差很远,以至于程序core掉,正确的做法是,在这种程序中尽量不要用uint32_t,

或者使用之前进行转换(转换成int32_t类型, 但是要注意范围)