问题描述
- C语言中 i_tmp -= (i_tmp >> 4 << 4)什么意思
-
float f_value = 15.02;
int i_tmp;time_t t; srand((unsigned)time(&t)); //初始化随机种子, 否则随机数不随机 i_tmp = rand(); i_tmp -= (i_tmp >> 4 << 4); f_value += i_tmp;
解决方案
右移四位,然后再左移四位,,
解决方案二:
移位的意思,,,
解决方案三:
根据运算符优先级,先执行括号内部的,即就是先右移四位再左移四位, 然后运算-=.
解决方案四:
清掉最低4-bit的值,第一个 >>4 表示右移4-bit,最低位的 4-bit 内容丢失,后面的 <<4表示再补回4-bit 的 0.
时间: 2025-01-02 13:25:53