for(i=2, j=num/2; (i <= num/2) & (j >= 2); i++, j--)
using System;
class MainClass
{
public static void Main()
{
int i, j;
int smallest, largest;
int num;
num = 100; // num 等于 100
smallest = largest = 1; //smallest = largest 等于 1
for(i=2, j=num/2; (i <= num/2) & (j >= 2); i++, j--){ //i等于2 j等于 100除2 等于50
if((largest == 1) & ((num % i) == 0))
smallest = i;
if((largest == 1) & ((num % j) == 0))
largest = j;
}
Console.WriteLine("Largest factor: " + largest);
Console.WriteLine("smallest factor: " + smallest);
}
}
for(i=2, j=num/2; (i <= num/2) & (j >= 2); i++, j--)
现在我非常讨厌 & 这个
知道这是真假的意思
但是我就是还不明白
怎么去控制
真显示那个
假显示那个
呵呵!
老样子,那位高手帮忙逐行注释下...
--------------------编程问答-------------------- 没人回答? --------------------编程问答-------------------- &作为二元运算符,是按位做与操作,不是你说的真假
--------------------编程问答-------------------- 按位做与操作 可以解释详细点吗? --------------------编程问答-------------------- true & true = true
true & false = false
false & false = false --------------------编程问答-------------------- 位操作,准确来说,应该是:
0&1 -->0
0&0 -->0
1&1 -->1
把参加运算的两个数都转换为二进制表示,逐位的按上面的规则运算,算完了就是结果的二进制表示。 --------------------编程问答-------------------- 要看C#里面ture和false对应的数字是多少。
然后把它们都转换成位,在进行按位匹配的与或运算。
如110&101=100,
楼主怎么不直接用&&呢 --------------------编程问答-------------------- for(i=2, j=num/2; (i <= num/2) & (j >= 2); i++, j--)
-----------------------------
这个地方并非是按位与操作,与&&类似,只不过&是短路操作,&&不是。 --------------------编程问答-------------------- &是按位与
具体的要根据计算出来的值来定
初学没有必要学这些
--------------------编程问答-------------------- 感谢楼主 --------------------编程问答-------------------- ding --------------------编程问答-------------------- 等待牛人来答.
补充:.NET技术 , 非技术区