lmmp.net
当前位置:首页 >> C语言中iF(k & 1)是什么意思 >>

C语言中iF(k & 1)是什么意思

& “按位与”运算符。1 & 1 = 11 & 0 = 00 & 1 = 00 & 0 = 0

解释:“if(a)b;”,a是真的就执行b,假的就不执行b,逻辑值为1就是真的,0就是假的,数字除了0其他的都是真的,0是假的,!就是非的意思,否定。比如0是假的“!0”就是真的,“!5”就是假的,明白了没有,!就是汉语里面的“否定”“不”,表示否定...

1

计算时先将k变成********八位数据 然后再和0x01相位与,目的就是将k的高七位变成0,及屏蔽,得到k的最低位

j = j | (k & 1);其中|是按位或,&是按位与。式子的功能是:如果k是奇数,就把j的二进制最后一位置1

翻译成中文: 假如变量 i 除以 k 的值等于1成立,就执行if后面的判断语句。如果不成立,再判断 i 除以 k 的余数是否等于0,如果不等于,也要执行后面的判断语句。而||是罗技运算符中的或,代表只要两个表达式中任意一个成立就算成立。

!k%2==1,这是一个表达式 这里面有三个运算符,按照优先级从高到低依次为:!,%,== 所以表达式相当于(!k)%2==1 可以发现: 当k为假(k等于0)时,整个表达式为真,表达式的值为1 当k为真(k为非0)时,整个表达式为假,表达式的值为0

你贴的代码有问题,运行没结果。 这里判断素数的for循环的条件有点问题,比如 k=sqrt(121)=11 for(i=2;i

如果中途break了,i的值就达不到k+1。这只是用来判断每个i都被测试了一遍。不过这样写不如弄个flag标识。可读性差。

是的,而且k要是整数。

网站首页 | 网站地图
All rights reserved Powered by www.lmmp.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com