文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>十进制转换二进制(8bit)

十进制转换二进制(8bit)

时间:2011-01-12  来源:chenping2008

具体的代码如下:

 1 public class DecadeToBinary
 2     {
 3         public String Convert(Int32 num)
 4         {
 5             String convertResult = String.Empty;
 6             Boolean negative = false;
 7             if (num < 0)
 8             {
 9                 negative = true;
10                 num = (Math.Abs(num)^255)+1;
11             }
12             while (true)
13             {
14                 convertResult = convertResult.Insert(0, (num % 2).ToString());
15                 if (num / 2 < 2)
16                 {
17                     convertResult = convertResult.Insert(0, (num / 2).ToString());
18                     break;
19                 }
20                 num = num / 2;
21             }
22             convertResult = convertResult.PadLeft(7, '0');
23             convertResult = convertResult.PadLeft(8, negative?'1':'0');
24             return convertResult;
25         }
26     }

具体的如果大家想实现16bit的,可以修改。

下面给出测试代码:

 

测试代码  [TestMethod]
        public void TestConvert()
        {
            DecadeToBinary decadeToBinary = new DecadeToBinary();
            Assert.AreEqual<String>("00000100", decadeToBinary.Convert(4));
            Assert.AreEqual<String>("00000000", decadeToBinary.Convert(0));
            Assert.AreEqual<String>("01111111", decadeToBinary.Convert(127));
            Assert.AreEqual<String>("11111001", decadeToBinary.Convert(-7));
            Assert.AreEqual<String>("10000001", decadeToBinary.Convert(-127));
            Assert.AreEqual<String>("10000000", decadeToBinary.Convert(-128));
        }

如果大家在使用时发现任何的错误,请你给出失败的数字,以便修改程序。

 下次再给出《c#本质论》书中提到的一个方法。比这个简单。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载