C#编程入门_进制转换_2
来源:互联网 发布:mac usb安装win7 编辑:程序博客网 时间:2024/06/08 20:07
21篇C#博客的配套源码
进制数可以分为二进制、八进制、十进制和十六进制,不同的进制并不影响数据本身,因此数据可以在不同进制之间转换。在我们现实的生活中都是采用的十进制,就是满10进1。对于二进制、八进制、十六进制,无非就是满2进1,满8进1,满16进1.
二进制
十进制转化二进制
三次除以2计算得到余数依次是0、1、1,将所有余数倒序排列是1、1、0。所以十进制的6转换成二进制数,结果是110。
二进制转十进制
二进制转化成十进制要从右到左用二进制位上的每个数去乘以2的相应次方,例如将最右边第一位的数乘以2的0次方,第二位的数乘以2的1次方,第n位的数乘以2的n-1次方,然后把所有乘的结果相加,得到的结果就是转换后的十进制数。
如把一个二进制数01100100转换为10进制,转换方式如下。
0 * 2+ 0 * 21+ 1 * 22+ 0 * 23+ 0 * 24+ 1 * 25+ 1 * 26+ 0 * 27= 100
由于0乘以多少都是0,所以上述表达式也可以简写为如下方式。
1 * 22+ 1 * 25+ 1 * 26= 100
得到的结果100就是二进制数01100100转化后的十进制数。
八进制
1.二进制转八进制
二进制转八进制时,首先需要将二进制数自右向左每三位分成一段,然后将二进制的每段的三位数转为八进制的一位,转换过程中数值的对应关系如表所示。

了解了二进制转八进制的规则,接下来详细讲解如何将一个二进制数100101010转为八进制数,具体步骤如下。
(1)每三位分成一段,结果为100 101 010。
(2)将每段的数值分别查表替换,结果如下。
100→4
101→5
010→2
(3)将替换的结果进行组合,转换的结果为0452(注意八进制必须以0开头)。
十六进制
将二进制转十六进制时,与转八进制类似,不同的是要将二进制数每四位分成一段,查表转换即可。二进制转十六进制过程中数值的对应关系如表所示。
了解了二进制转十六进制的规则,接下来通过一个例子来学习一下。假设要将一个二进制数101001010110转为十六进制数,具体步骤如下。
(1) 每四位分成一段,结果为101001010110。
(2) 将每段的数值分别查表替换,结果如下。
1010→A
0101→5
0110→6
(3) 将替换的结果进行组合,转换的结果为 0xA56 或 0XA56(注意十六进制必须以 0x 或者0X开头)。
代码实现进制间的转化
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 进制转化{ class Program { static void Main(string[] args) { //将十进制数转化成二进制的数 //把96转化成2进制的数 //Convert.ToString(96, 2); 运算后的结果是一个字符串 string ret = Convert.ToString(96,2); Console.WriteLine(ret); //将二进制数转化成十进制 //第一个参数是表示转化的数是二进制的字符串 第二个参数 告诉编辑器 前面的字符串是一个二进制的数 //转化过后的结果是一个int 类型的数 int retNum = Convert.ToInt32("1100000",2); Console.WriteLine(retNum); //将96转化成8进制的数 结果是一个字符串类型的 ret = Convert.ToString(96,8); Console.WriteLine(ret); // 将八进制转化成十进制 retNum = Convert.ToInt32("140",8); Console.WriteLine(retNum); //将10进制转化成16进制 ret = Convert.ToString(96,16); Console.WriteLine(ret); //将16进制的数转化成10进制的数 retNum = Convert.ToInt32("60",16); Console.WriteLine(retNum); //将二进制转化成八进制 retNum = Convert.ToInt32("1100000",2); ret = Convert.ToString(retNum,8); Console.WriteLine(ret); //总结: /* * 从十进制转化成其他进制的时候我们使用Convert.ToString(十进制数,要转化的进制); * * 从其他进制转化成十进制的时候我们使用Convert.ToInt32(其他进制形式的字符串,其他进制数); * * 如果是非十进制之间进行转化 那么要使用 Convert.ToString(十进制数,要转化的进制); 和Convert.ToInt32(其他进制形式的字符串,其他进制数); 进行结合使用,换句话说:比如讲二进制转化成八进制 我们先把二进制转化成十进制 然后再把十进制转化成八进制 二进制转化成十六进制 十六进制转化成二进制 八进制转十六进制 十六进制转八进制 同理 */ } }}
- C#编程入门_进制转换_2
- C#编程入门2_进制转换
- C#编程入门_网络编程_21
- C#编程入门21_网络编程
- C#使用_进制转换
- C#与Matlab混合编程_入门
- C#编程入门_循环_5
- C#编程入门_数组_6
- C#编程入门_方法(函数)_7
- C#编程入门_跳转语句_8
- C#编程入门_杂项_12
- C#编程入门_常用集合_14
- C#编程入门_简单算法_15
- C#编程入门_异常处理_16
- C#编程入门_文件处理IO_17
- C#编程入门_反射_19
- C#编程入门5_循环
- C#编程入门6_数组
- C++ 实现两个向量之间的夹角
- Fragmen静态加载
- httpd-2.4编译安装详解
- 机器学习习题(4)
- 子数组最大的累加和
- C#编程入门_进制转换_2
- QPixmap的使用+QSplashScreen的使用
- linux虚拟机配置jdk环境变量
- linux中安装ssh服务
- 使用Beautiful Soup进行查找
- Bootstrap(三)
- Java中字符串的操作
- CSUOJ 1858 Biorhythms 中国剩余定理
- Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals) 总结