1. 程式人生 > >c#轉換整數位二進位制形式,並統計其中二進位制的值

c#轉換整數位二進位制形式,並統計其中二進位制的值

int num = 0, AndNum = 1;
            
            int temBit=0;
            string binBit = "";
            int count=0;
            for (int i = 0; i < 32; i++)//迴圈32次,做32次按位與運算
            {
                temBit = num << i;//將當前數字往左移動i(0)開始,只做最高位
                //Console.WriteLine(Convert.ToString(temBit,2));
                temBit= (temBit&(AndNum<<31)); //用一個最高位是1的數和目標數做按位與的計算就能得出被移動到最高位的位上的值
               
                if (temBit == 0)
                {
                    binBit += "0";                                        
                }
                else
                {
                    binBit += "1";
                    count++;
 
                }
                AndNum = 1;
                num = 0;
                             
            }
            
            
            Console.WriteLine("{0}的二進位制形式是:{1},其中位上為1的個數有{2}個", num, binBit, count);
           }


關鍵位置已經註釋好了