• C# 进制转换


    最近用到 进制间的转换,之前每次都从网上查,现在整理一下,以备查阅。上代码:

     1 private static void Test()
     2         {
     3             //十进制 转 二进制字符串 
     4             Console.WriteLine(Convert.ToString(69, 2));
     5 
     6             //十进制 转 十六进制字符串  
     7             //方式1:
     8             Console.WriteLine(Convert.ToString(69, 16));
     9             //方式2:
    10             int number = 69;
    11             String hex = number.ToString("X");
    12 
    13             //二进制字符串 转 十进制数
    14             Console.WriteLine(Convert.ToInt32("11111111", 2));
    15 
    16             //二进制字符串 转 十六进制数 (其实还是先转十进制数)
    17             Console.WriteLine(string.Format("{0:x}",Convert.ToInt32("11111111",2)));
    18 
    19             //十六进制字符串 转 十进制数
    20             //方式1:
    21             Console.WriteLine(Convert.ToInt32("FF", 16));
    22             //方式2:
    23             int.Parse("FF",System.Globalization.NumberStyles.AllowHexSpecifier);
    24 
    25             //十六进制转二进制字符串
    26             Console.WriteLine(Convert.ToString(0xff, 2));
    27         }

      由于二进制数在C#中无法直接表示,所以所有二进制数都用一个字符串来表示,比如:“1011”。

      有些时候需要在二进制字符串前面补0,来达到指定的长度,比如将"111" 转成8个长度的 "00000111" 字符串。提供以下方法进行转换:

     1         private static void Test2()
     2         {
     3             int i=10;
     4             //方法1:
     5             Console.WriteLine(i.ToString("D8"));
     6             //输出: 00000010
     7 
     8 
     9             //方法2:
    10             Console.WriteLine(i.ToString("00000000"));
    11             //输出: 00000010
    12 
    13 
    14             //方法3:推荐 
    15             Console.WriteLine(Convert.ToString(i, 2).PadLeft(8, '0'));
    16             //输出: 00001010
    17         }  

      呵呵,有不对的地方,请指出~~ :)

      

      

  • 相关阅读:
    Linux_23 DNS 正向解析区域、反向解析区域;主/从;子域;基本安全控制
    Linux_22 加密和解密及OpenSSL
    Linux_21 日志系统、ssh服务、系统安装及系统故障排除
    Linux_20 子网划分
    Akavache简明使用指南
    Oracle存储过程解析XML内容
    docker部署微服务不支持中文字体的解决方案
    Three.js
    Three.js
    [Linux] vim状态栏配置
  • 原文地址:https://www.cnblogs.com/guzhongx/p/3287482.html
Copyright © 2020-2023  润新知