今天看到代码中有一个
a & ~1 的代码,不明白~的意思,百度了一下
1: 00000000 00000000 00000000 00000001
printf (“now num is: %d, group num is: %d, index num is: %d.\n”, i, i & ~3, i &3);
a & ~1 的代码,不明白~的意思,百度了一下
~代表的意思是按位取反,例如 ~1在32位机器中就成了
1: 00000000 00000000 00000000 00000001
~1:11111111 11111111 11111111 11111110
这个功能可以用来给数字快速分组,例如
for ( i = 0; i < 100; i++)
//每3个数字分为一组
//每3个数字分为一组
{
printf (“now num is: %d, group num is: %d, index num is: %d.\n”, i, i & ~3, i &3);
}
版权声明:本文为orz365原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。