将十进制数转为N进制的方法
生活随笔
收集整理的這篇文章主要介紹了
将十进制数转为N进制的方法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
設(shè)有一個數(shù) A,比如 A=15 ,轉(zhuǎn)為四進(jìn)制數(shù)應(yīng)當(dāng)表示為33.
原理如下:
1.A除N,
2.A模N.
3.保存A模N的值。
4.循環(huán)1,2。直到 A除N的值等于0;
Code
?class?NumerationConverter
????{
????????///?<summary>
????????///?將十進(jìn)制度數(shù)轉(zhuǎn)為四進(jìn)制
????????///?</summary>
????????///?<param?name="src"></param>
????????///?<param?name="N"></param>
????????///?<returns></returns>
???????public?static?string?ConvertFromTen(int?src?,int?N)
????????{
????????????Stack<int>?strs?=?new?Stack<int>();
????????????int?temp1?=?src?/?N;
????????????int?temp2?=?src?%?N;
????????????while?(temp1?>?0)
????????????{
????????????????strs.Push(temp2);
????????????????
????????????????temp2=temp1%N;
????????????????temp1?=?temp1?/?N;
????????????}
???????????
????????????????strs.Push(temp2);
???????????
????????????StringBuilder?sb?=?new?StringBuilder();
????????????while?(strs.Count?>?0)
????????????{
????????????????sb.Append(strs.Pop());
????????????}
????????????return?sb.ToString();
??????????
????????????
????????}
????}
單元測試如下:
Code
???///?<summary>
????????///ConvertFromTen?的測試
????????///</summary>
????????[TestMethod()]
????????public?void?ConvertFromTenTest()
????????{
????????????int?src?=?3;
????????????string?expected?=?"3";
????????????string?actual;
????????????actual?=?NumerationConverter.ConvertFromTen(src,4);
????????????Assert.AreEqual(expected,?actual);
????????????
????????}
轉(zhuǎn)載于:https://www.cnblogs.com/netfuns/archive/2009/09/29/1576578.html
總結(jié)
以上是生活随笔為你收集整理的将十进制数转为N进制的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用wxWidgets编程——第一步
- 下一篇: 在程序中生成PDF