心之镇

~宁以致远~
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

【zz】C#中进制的转换

Posted on 2009-08-24 21:01  心之镇  阅读(321)  评论(0)    收藏  举报

  今天又有朋友问起有关进制转换的问题,十进制怎么转换成二进制,十进制怎么转换成八进制,十进制怎么转换成十六进制。其实,就程序而言,使用什么进制都是一样的,因为在计算机中,最终还是使用二进制进行存放,问了老半天,才明白,他要的是二进制、八进制、十六进制的字符串表示方式。

    这么一说,就很简单了,使用System.Convert.ToString()就可以转换了:

    比如说,将1000转换成二进制:System.Convert.ToString(1000,2)
    将1000转换成八进制:System.Convert.ToString(1000,8)
    将1000转换成十六进制:System.Convert.ToString(1000,16)

    除此之外,还可以使用ToString()方法来显示不同的格式,如以下代码所示。

using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

 

namespace secretary.manage

{

    public partial class WebForm1 : System.Web.UI.Page

    {

        protected void Page_Load(object sender, EventArgs e)

        {

            int i = 1000000;

            Response.Write("十进制的数字:" + i.ToString() + "<br>");

            Response.Write("货币格式:" + i.ToString("c") + "<br>");

            Response.Write("十进制格式:" + i.ToString("d") + "<br>");

            Response.Write("科学计数格式:" + i.ToString("e") + "<br>");

            Response.Write("固定点格式:" + i.ToString("f") + "<br>");

            Response.Write("常规格式:" + i.ToString("g") + "<br>");

            Response.Write("数字格式:" + i.ToString("n") + "<br>");

            Response.Write("十六进制为:" + i.ToString("x") + "<br>");

            Response.Write("二进制为:" + System.Convert.ToString(i, 2) + "<br>");

            Response.Write("八进制为:" + System.Convert.ToString(i, 8) + "<br>");

        }

    }

}

查看更多精彩图片

    使用System.Convert.ToString()可以很方便地在二进制、八进制、十进制、十六进制之间进行转换,如以下代码所示。

using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

 

namespace secretary.manage

{

    public partial class WebForm1 : System.Web.UI.Page

    {

        protected void Page_Load(object sender, EventArgs e)

        {

            //十进制

            int i = 100;

            //转换成二进制的字符串表示方式

            string str2 = System.Convert.ToString(i, 2);

            //转换成八进制的字符串表示方式

            string str8 = System.Convert.ToString(i, 8);

            //转换成二进制的字符串表示方式

            string str16 = System.Convert.ToString(i, 16);

 

            Response.Write("十进制的数字:" + i.ToString() + "<br>");

            Response.Write("二进制为:" + str2 + "<br>");

            Response.Write("八进制为:" + str8 + "<br>");

            Response.Write("十六进制为:" + str16 + "<br><br>");

           

            //如果要将二进制转换成十六进制,可以先将其转换成十进制,再转成十六进制

            str2 = "101010";

            Response.Write("二进制的数字:" + str2 + "<br>");

            //转换成十进制

            i = System.Convert.ToInt32(str2, 2);

            Response.Write("转换成十进制:" + i.ToString() + "<br>");

            //再转换成十六进制

            Response.Write("转换成十六进制:" + System.Convert.ToString(i, 16) + "<br>");

        }

    }

}

     运行结果如下图所示:

查看更多精彩图片