C#【中级篇】不同进制的数相互转换

一、不同进制的数相互转换

方法一:
//如果输入的十六进制是字符串

string aaa = "0fff";
int aa = Convert.ToInt32(aaa, 16);
Console.WriteLine(aa.ToString());
//输出:4095

//如果十六进制不是字符串,而是如:int a = 0xfff;这样的可以直接用,因为它本身就是数字

int a = 0xfff;
Console.WriteLine(a.ToString());
//输出:4095

方法二:   

 int d = 10;  
      
  //十进制转二进制字符串  
     Console.WriteLine(Convert.ToString(d,2));  
    //输出: 1010  
      
      
   //十进制转十六进制字符串  
    Console.WriteLine(Convert.ToString(d,16));  
    //输出: a  

   Console.WriteLine(Convert.ToString(d,16).ToUpper().PadLeft(4, '0'))//输出: 000A
   
   Console.WriteLine(Convert.ToString(d,16).ToUpper().PadLeft(2, '0'))//输出: 0A

   Console.WriteLine(d.ToString("X4"))//输出: 000A

   Console.WriteLine(d.ToString("X2"));    
    //输出: 0A
      
  //二进制字符串转十进制数  
    string bin = "1010";  
    Console.WriteLine(Convert.ToInt32(bin,2));  
    //输出: 10  

   //十六进制字符串转十进制数  
    string bin = "50";  
    Console.WriteLine(Convert.ToByte(bin,16));  
    //输出: 80  
      
   //二进制字符串转十六进制数  
    string bin = "1010";  
    Console.WriteLine(string.Format("{0:x}",Convert.ToInt32(bin,2)));  
    //输出: a  
      
   //十六进制转二进制字符串  
    Console.WriteLine(Convert.ToString(0xa,2));  
    //输出: 1010  
      
   //十六进制转十进制数  
    Console.WriteLine(Convert.ToString(0xa,10));  
    //输出: 10  

二、byte[]转为二进制字符串表示(8bit)

using System;

namespace ConsoleApp4
{
    
    
    class Program
    {
    
    
        static void Main(string[] args)
        {
    
    
            // byte[]转为二进制字符串表示(8bit)
            byte[] bytesTest = new byte[] {
    
    1,2,3,4,5,6,7,8};
            string strResult = "";
            for (int i = 0; i < bytesTest.Length; i++)
            {
    
    
                string strTemp = System.Convert.ToString(bytesTest[i], 2);
                strTemp = strTemp.Insert(0, new string('0', 8 - strTemp.Length));//不满8位,补0

                strResult += strTemp+" ";
            }
            Console.WriteLine(strResult);
            Console.ReadLine();
        }
    }
}

运行结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/sinat_40003796/article/details/126586827