一个十进制转二进制的算法

 

        private string ConvertBits(int val)
        {
            int dispMask = 1 << 31;
            StringBuilder bitBuffer = new StringBuilder(35);
            for (int i = 1; i <=32; i++)
            {
                  if ((val & dispMask) == 0)
                        bitBuffer.Append("0");
                  else
                        bitBuffer.Append("1");
                  val <<= 1;
                  if ((i % 8) == 0)      
                        bitBuffer.Append(" ");
            }
            return bitBuffer.ToString();
        }

        这是在《数据结构与算法》(C#语言版)看到的一个算法,不过没弄清楚它的实现原理。

posted @ 2009-05-27 23:54  yejun  阅读(1064)  评论(0编辑  收藏  举报