坑爹的uint32_t
生活随笔
收集整理的這篇文章主要介紹了
坑爹的uint32_t
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
首先看看下面這段程序:
uint32_t compare = 10;
for (uint32_t i = compare; i >= 0; --i) {
?? ..........
}
這是一段比較危險(xiǎn)的程序, 當(dāng) i的值變?yōu)?-1的時(shí)候,其實(shí)由于i是一個(gè)非負(fù)數(shù)整形,強(qiáng)制類(lèi)型轉(zhuǎn)換后,i又變?yōu)橐粋€(gè)很大的數(shù),
后果就是得不到自己想要的結(jié)果,甚至相差很遠(yuǎn),以至于程序core掉,正確的做法是,在這種程序中盡量不要用uint32_t,
或者使用之前進(jìn)行轉(zhuǎn)換(轉(zhuǎn)換成int32_t類(lèi)型, 但是要注意范圍)
通過(guò)測(cè)試,發(fā)現(xiàn)這個(gè)循環(huán)將成為一個(gè)死循環(huán),太可怕了!!!
教訓(xùn):對(duì)于含有unsigned int類(lèi)型的要特別的注意加小心,防止遞減到“小于”零,最好循環(huán)比較中不要這樣用
轉(zhuǎn)載于:https://www.cnblogs.com/candycloud/p/3904416.html
總結(jié)
以上是生活随笔為你收集整理的坑爹的uint32_t的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: web监听器
- 下一篇: 在落雨的鼓浪屿打着伞到处走走找个地方坐坐