zoukankan      html  css  js  c++  java
  • C#中二进制、十进制和十六进制互相转换的方法

    二进制在C#中无法直接表示,我们一般用0和1的字符串来表示一个数的二进制形式。比如5的二进制为“101”。下面介绍C#里面用于进制转换方法。

    十进制转换为二进制(int-->string)

    System.Convert.ToString(d, 2);// d为int类型 以5为例,输出为101

    十六进制转换为二进制(int-->string)

    System.Convert.ToString(d, 2);// d为int类型 以0X14为例,输出为10100

    上面ToString函数的第二个参数表示目标数字系统的基数。

    二进制转换为十进制(string-->int)

    System.Convert.ToInt32(s, 2);// d为string类型 以“1010”为例,输出为10

    十六进制转换为十进制(string-->int、int-->int)

    方法一:

    System.Convert.ToString(0xa,10);// 以0XA为例,输出为10

    或者

    System.Convert.ToInt32("0x41", 16);//以"0x41"为例,输出为65

    方法二:

    System.Int32.Parse(s, System.Globalization.NumberStyles.HexNumber);//s为string类型,以“41”为例,输出为65

    注意这里的s中不能带有“0X”或者“0x”,区别于上面的方法。

    二进制转换为十六进制(string-->int)

    先转换为十进制,在转换为十六进制

    string.Format("{0:X}",System.Convert.ToInt32(s, 2));// s为string类型 以“1010”为例,输出为A

    十进制转换为十六进制

    十进制转换为十六进制不需要特殊的方法,只要对输出格式进行控制一下就可以。

    或者使用string.Format("{0:x}", dec)方法进行控制,也可以用s.ToString("X")方式进行控制。

    除了数制转换之外,数据类型的转换也比较重要。对于基本数据类型,byte、char、int、string以及它们的数组形式的转换虽然简单,但是比较基础的知识。网上也有很多详解,用到的时候自行查阅即可。

  • 相关阅读:
    前台线程与后台线程,AfxGetApp>GetMainWnd()与AfxGetMainWnd的不同 (转)
    详细解说 STL 排序(Sort) (转)
    (转)怎样从一个DLL中导出一个C++类
    HTTP协议之状态码详解(转)
    关于列表(ListCtrl)控件的界面基础知识
    C++序列化(转)
    vs2008修改Menu(菜单)资源ID的方法。
    怎样解决VC中滚动条最大滚动值不能超过32767的问题
    < Photoshop CS 专栏 >颜色(二)
    C#使用BinaryReader类读取二进制文件
  • 原文地址:https://www.cnblogs.com/txwtech/p/15661490.html
Copyright © 2011-2022 走看看