当前位置:编程学习 > C#/ASP.NET >>

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技术 ,  非技术区
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,