tp=tp>>1在c语言中是什么意思啊?谢谢各位了

如题所述

">>"是位右移运算符!
意思就是说把"tp"所代表的存储单元内的二进制数右移一位,右移后在最前边补0。
注:数据在计算机内的存储为二进制方式;
例:若tp=25 则tp所代表的存储单元应该是 "…000011001”
那么tp>>1 就是 "…000001100" 即tp>>1的值为12
实际上只要右移后的值不超过定义数量型的范围,那么右移n(>=1)位后的值即为原值除以2的n次方取整!
望采纳!谢谢~追问

先谢谢你的回答。再问一下,tp=critter->chrom[k]这句是什么意思啊?

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-03-14
>>是右移运算符,tp=tp>>1表示将tp的各二进制位右移1位
第2个回答  2012-03-14
位置右移1位
相似回答