C# 进制转换(二进制、十六进制、十进制互转) .
C# 进制转换(二进制、十六进制、十进制互转)
由于二进制数在C#中无法直接表示,所以所有二进制数都用一个字符串来表示
例如: 二进制: 1010 表示为 字符串:"1010"
int d = 10;
//十进制转二进制字符串
Console.WriteLine(Convert.ToString(d,2));
//输出: 1010
//十进制转十六进制字符串
Console.WriteLine(Convert.ToString(d,16));
//输出: a
//二进制字符串转十进制数
string bin = "1010";
Console.WriteLine(Convert.ToInt32(bin,2));
//输出: 10
//二进制字符串转十六进制数
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
C#实现转换十六进制
C#语言有很多值得学习的地方,这里我们主要介绍C#实现转换十六进制,包括介绍用来表示十六进制的枚举值是 HexNumber等方面。
C#实现转换十六进制
任何数据在计算机内部都是以二进制保存的,所以进制与数据的存储无关,只与输入输出有关。所以,对于进制转换,我们只关心字符串中的结果。
在上面的第 4 条中提到了 ToString() 方法可以将数值转换成字符串,不过在字符串中,结果是以十进制显示的。现在我们带给它加一些参数,就可以让C#实现转换成十六进制——使用 ToString(string) 方法。
这里需要一个 string 类型的参数,这就是格式说明符。十六进制的格式说明符是 "x" 或者 "X",使用这两种格式说明符的区别主要在于 A-F 六个数字:"x" 代表 a-f 使用小写字母表示,而 "X" 而表示 A-F 使用大字字母表示。如下例:
1. private void TestHex() {
2. int a = 188;
3. this.textBox1.Text = "";
4. this.textBox1.AppendText("a(10) = " + a.ToString() + "\n");
5. this.textBox1.AppendText("a(16) = " + a.ToString("x") + "\n");
6. this.textBox1.AppendText("a(16) = " + a.ToString("X") + "\n");
7. }
运行结果如下:
1. a(10) = 188
2. a(16) = bc
3. a(16) = BC
这时候,我们可能有另一种需求,即为了显示结果的整齐,我们需要控制十六进制表示的长度,如果长度不够,用前导的 0 填补。解决这个问题,我们只需要在格式说明符“x”或者“X”后写上表示长度的数字就行了。比如,要限制在 4 个字符的长度,可以写成“X4”。在上例中追加一句:
1. this.textBox1.AppendText("a(16) = " + a.ToString("X4") + "\n");
其结果将输出 a(16) = 00BC。
现在,我们还要说一说如何将一个表示十六进制数的字符串转换成整型。这一转换,同样需要借助于 Parse() 方法。这里,我需要 Parse(string, System.Globalization.NumberStyles) 方法。第一个参数是表示十六进制数的字符串,如“AB”、“20”(表示十进制的 32) 等。第二个参数 System.Globalization.NumberStyles 是一个枚举类型,用来表示十六进制的枚举值是 HexNumber。因此,如果我们要将“AB”转换成整型,就应该这样写:int b = int.Parse("AB", System.Globalization.NumberStyles.HexNumber),最后得到的 b 的值是 171。
C# 进制转换(二进制、十六进制、十进制互转) .相关推荐
- python十六进制转换成八进制_Python 进制转换 二进制 八进制 十进制 十六进制
全局定义一定不要丢了 全局定义 base = [str(x) for x in range()] + [ chr(x) for x in range(ord('A'),ord('A')+)] 二进制 ...
- 进制转换-二进制和十进制的转化
二进制 十进制转二进制 二进制:0和1, 逢2进1 23的二进制是:10111 234的二进制:11101010 二进制转十进制 11011转成十进制 12的4次幂+12的3次幂+02的2次幂+12的 ...
- 进制转换----二进制转十进制
二进制转十进制 转换方法 从最低为(最右边)开始,将每个位上的数提取出来,乘以2的(位数-1)次方 然后求和 例如 01101 = (1 * 2^(1-1)) 加 (02^(2-1))加 (12^(3 ...
- python 自定义进制转换,Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)...
使用Python内置函数:bin().oct().int().hex()可实现进制转换. 先看Python官方文档中对这几个内置函数的描述: bin(x) Convert an integer num ...
- 进制转换--《十六进制》
目录: 一.十六进制 ----1.0.十六进制转二进制(整数.小数) ----1.1.十六进制转八进制(整数.小数) ----1.2.十六进制转十进制进制(整数.小数) 正文 一.十六进制 概念:十六 ...
- 进制转换二进制转八进制_将二进制数制转换为八进制数制
进制转换二进制转八进制 Prerequisite: Number systems 先决条件: 数字系统 To convert binary numbers into octal numbers, we ...
- bash 将二进制转换为十进制_6、计算机进制之二进制、十进制、十六进制之间的转换...
1.计算机的数制介绍 数制:计数的方法,指用一组固定的符号和统一的规则来表示数值的方法 数位:指数字符号在一个数中所处的位置 基数:指在某种进位计数制中,数位上所能使用的数字符号的个数 位权:指在某种 ...
- 计算机二进制怎么转化成十六进制数是,6、计算机进制之二进制、十进制、十六进制之间的转换...
1.计算机的数制介绍 数制:计数的方法,指用一组固定的符号和统一的规则来表示数值的方法 数位:指数字符号在一个数中所处的位置 基数:指在某种进位计数制中,数位上所能使用的数字符号的个数 位权:指在某种 ...
- python十进制转八进制_Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)...
使用Python内置函数:bin().oct().int().hex()可实现进制转换. 先看Python官方文档中对这几个内置函数的描述: bin(x) Convert an integer num ...
最新文章
- 转:Silverlight样式写法
- OSPF虚拟链路实验
- 洛谷1941飞扬的小鸟
- Ubuntu12.04 VMware Tools的安装
- leetcode22. 括号生成(回溯)
- 20145212 《信息安全系统设计基础》第3周学习总结
- 可微偏导数一定存在_【数学】多元函数可微如何判断?
- Android第五十二期 - 云之讯的代码混淆
- 匈牙利算法python实现
- Sun的JDK7、OpenJDK及IcedTea释疑
- 后盾网ThinkPHP微博项目
- (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
- html css前端框架,GitHub - zyj1022/wee: WEE—简单快速的响应式HTML/CSS前端框架
- codeforces 1438C、Engineer Artem
- 数据库中的锁机制(数据库中有哪些锁)
- 短信服务之阿里云平台
- 以信息技术促进小学数学探究学习
- C++:实现量化期权定价理论方法之一Bates模型测试实例
- 单片机上的8位数码管同时显示数字“12345678“
- linux安装11g rac
热门文章
- 从地理围栏看物联网安防
- Quick cocos2dx学习笔记
- 泛泰A880S升级官方4.4.2 binx教程
- AWR报告中的DB Time 及 Elapsed
- 人工智能 - paddlepaddle飞桨 - 深度学习基础教程 - 编程指南
- 容器编排技术 -- 本地运行Kubrenetes v1.0
- local variable 'xxx' referenced before assignment
- 学习iOS最权威的网站
- windows常用指令
- JavaScript异步编程【上】 -- 同步和异步、事件循环(EventLoop)、微任务和宏任务、回调函数