C# 二进制,八进制,十进制,十六进制之间的转换

常用基础转换

Convert.ToString(int value,int toBase)

----value为32位带符号整数,toBase为返回值的基数:2,8,10,16进制

        Console.WriteLine("Convert.ToString(69,2)十进制转二进制:" + Convert.ToString(69,2));
        Console.WriteLine("Convert.ToString(69,8)十进制转八进制:" + Convert.ToString(69,8));
        Console.WriteLine("Convert.ToString(69,16)十进制转十六进制:" + Convert.ToString(69,16));

        Console.WriteLine("Convert.ToString(0X69,2)十六进制转二进制:" + Convert.ToString(0X69, 2));
        Console.WriteLine("Convert.ToString(0X69,8)十六进制转八进制:" + Convert.ToString(0X69, 8));
        Console.WriteLine("Convert.ToString(0X69,10)十六进制转十进制:" + Convert.ToString(0X69, 10));

输出结果:
Convert.ToString(69,2)十进制转二进制:1000101
Convert.ToString(69,8)十进制转八进制:105
Convert.ToString(69,16)十进制转十六进制:45
Convert.ToString(0X69,2)十六进制转二进制:1101001
Convert.ToString(0X69,8)十六进制转八进制:151
Convert.ToString(0X69,10)十六进制转十进制:105

Convert.ToInt32(string value,int fromBase)

----value为包含要转换数字的字符串,fromBase为value数字的基数 必须为:2,8,10,16进制

        Console.WriteLine("Convert.ToInt32(\"55\")十进制:" + Convert.ToInt32("55"));
        Console.WriteLine("Convert.ToInt32(\"100111101\",2)二进制转十进制:" + Convert.ToInt32("100111101",2));
        Console.WriteLine("Convert.ToInt32(\"69\",8)八进制转十进制:" + Convert.ToInt32("76",8));
        Console.WriteLine("Convert.ToInt32(\"FF\",16)十六进制转十进制:" + Convert.ToInt32("FF",16));

输出结果:
Convert.ToInt32(“55”)十进制:55
Convert.ToInt32(“100111101”,2)二进制转十进制:317
Convert.ToInt32(“69”,8)八进制转十进制:62
Convert.ToInt32(“FF”,16)十六进制转十进制:255

其他转换方法

16进制转10机制

int num = System.Int32.Parse(“41”, System.Globalization.NumberStyles.HexNumber);//s为string类型,以“41”为例,输出为65
这里的s中不能带有“0X”或者“0x”,区别Convert.ToString(“0xaa”,10)–Convert.ToInt32(“0xaa”,16)。
二进制转十六进制
先转换为十进制,在转换为十六进制

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

十进制转换为16进制

        string data =  string.Format("{0:x}",10);
        string data2 = "";
        data2 = 10.ToString("x");

常用的数值格式化命令:

字符说明示例输出
C货币string.Format("{0:C}",9)¥9.00
D10进制string.Format("{0:D}",9)9
E科学计数法string.Format("{0:E}",12345)1.234500E+004
F小数string.Format("{0:F}",12345)12345.00
G常规string.Format("{0:G}",12345)12345
N用逗号隔开的数字string.Format("{0:N}",12345)12,345.00
P百分比string.Format("{0:P}",0.12345)12.35%
X16进制string.Format("{0:X}",10)A
占位符string.Format(“{0:000.000}”, 12.3)012.300
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值