C#实现进制转换的完整攻略
在C#中,要实现进制转换可以使用Convert类提供的方法,主要有以下三个:
- ToInt32:将指定的字符串转换为32位带符号整数。
- ToString:将指定的数字转换为字符串。
- Parse:将字符串表示形式转换为等效的数字表示形式。
十进制转二进制
- 定义一个十进制数
int number = 123;
- 将其转换为二进制数
string binary = Convert.ToString(number, 2);
- Convert.ToString中第一个参数为要转换的数字,第二个参数为要转换成的进制。
完整代码如下:
int number = 123;
string binary = Convert.ToString(number, 2);
Console.WriteLine("十进制数 {0} 转换为二进制数为:{1}", number, binary);
输出结果为:
十进制数 123 转换为二进制数为:1111011
二进制转十进制
- 定义一个二进制数的字符串
string binary = "1111011";
- 将其转换为十进制数
int number = Convert.ToInt32(binary, 2);
- Convert.ToInt32中第一个参数为要转换的字符串,第二个参数为字符串中数字的进制。
完整代码如下:
string binary = "1111011";
int number = Convert.ToInt32(binary, 2);
Console.WriteLine("二进制数 {0} 转换为十进制数为:{1}", binary, number);
输出结果为:
二进制数 1111011 转换为十进制数为:123
示例说明
示例1
现在有一个IP地址的字符串"192.168.0.1",需要将其转换为二进制数。具体步骤如下:
- 将地址字符串分割成四部分,得到四个整数。
string ip = "192.168.0.1";
string[] strs = ip.Split('.');
int[] nums = new int[4];
for(int i=0;i<strs.Length;i++)
{
nums[i] = Convert.ToInt32(strs[i]);
}
- 将每个整数转换成8位的二进制数。
string binary = "";
for(int i=0;i<nums.Length;i++)
{
string b = Convert.ToString(nums[i], 2);
binary += b.PadLeft(8, '0');
}
- Convert.ToString中第一个参数为要转换的数字,第二个参数为要转换成的进制。
- PadLeft方法用来在字符串的左侧补充指定的字符,使其达到指定的宽度。
完整代码如下:
string ip = "192.168.0.1";
string[] strs = ip.Split('.');
int[] nums = new int[4];
for(int i=0;i<strs.Length;i++)
{
nums[i] = Convert.ToInt32(strs[i]);
}
string binary = "";
for(int i=0;i<nums.Length;i++)
{
string b = Convert.ToString(nums[i], 2);
binary += b.PadLeft(8, '0');
}
Console.WriteLine("IP地址 {0} 转换为二进制数为:{1}", ip, binary);
输出结果为:
IP地址 192.168.0.1 转换为二进制数为:11000000101010000000000000000001
示例2
现在有一个二进制数的字符串"11001001",需要将其转换为十进制数。具体步骤如下:
string binary = "11001001";
int number = Convert.ToInt32(binary, 2);
Console.WriteLine("二进制数 {0} 转换为十进制数为:{1}", binary, number);
输出结果为:
二进制数 11001001 转换为十进制数为:201
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#实现进制转换 - Python技术站