2 u013080807 u013080807 于 2016.03.03 15:59 提问

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个回答

u013080807
u013080807   2016.03.03 16:10

右移四位,然后再左移四位,,

Royal_lr
Royal_lr   Ds   Rxr 2016.03.03 16:50

移位的意思,,,

John_ToStr
John_ToStr   Rxr 2016.03.04 09:44

根据运算符优先级,先执行括号内部的,即就是先右移四位再左移四位, 然后运算-=.

WinsenJiansbomber
WinsenJiansbomber   2016.03.04 10:36

清掉最低4-bit的值,第一个 >>4 表示右移4-bit,最低位的 4-bit 内容丢失,后面的 <<4表示再补回4-bit 的 0.

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!