前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >进制及其字符串之间互转——C#

进制及其字符串之间互转——C#

作者头像
vv彭
发布2021-01-18 10:12:13
1.1K0
发布2021-01-18 10:12:13
举报
文章被收录于专栏:c#学习笔记c#学习笔记

本文介绍进制数转进制数,及每个进制对应的字符串

一、首先进制数转进制数(int——>int)

  1.二进制数与十进制数互转:

  (1)二进制数转十进制数:还没找到

  (2)十进制数转二进制数:目前还没找到二进制数在c#的表示方法

  2.二进制数与十六进制数互转:

  (1)二进制数转十六进制数:还没找到

  (2)十六进制数转二进制数:还没找到

  3.十进制数与十六进制数互转:还没找到

  (1)十进制数转十六进制数:还没找到

  (2)十六进制数转十进制数:

int num = Convert.ToInt32(num1)//num1是十六进制数,num是十进制数

总结:数转数就是扯淡,本来他们就是同一个值,除非他们的类型不一样才体现强转的意义,比如整型转浮点型,而且c#跟本就没有二进制数的表示方法

二、字符串转字符串(string——>string)

  1.二进制字符串与十进制字符串互转:

  (1)二进制字符串转十进制字符串:还没找到

  (2)十进制字符串转二进制字符串:目前还没找到二进制数在c#的表示方法

  2.二进制字符串与十六进制字符串互转:

  (1)二进制字符串转十六进制字符串:还没找到

  (2)十六进制字符串转二进制字符串:还没找到

  3.十进制字符串与十六进制字符串互转:

  (1)十进制字符串转十六进制字符串:还没找到

  (2)十六进制字符串转十进制字符串:还没找到

总结:字符串转字符串还是先字符串转数值,再转成字符串,但是我觉得有字符串格式化可以直接转

三、字符串转数值(string——>int)

1.二进制字符串转二进制数:目前还没找到二进制数在c#的表示方法

  2.十进制字符串转十进制数:

string str = "110";
int num = Convert.ToInt32(str); //结果num = 110

  3.十六进制字符串转十六进制数:还没找到

  4.二进制与十进制互转:

  (1)二进制字符串转十进制数:

string str = "110";
int num = Convert.ToInt32(str, 2); //结果num = 6

  (2)十进制字符串转二进制数:目前还没找到二进制数在c#的表示方法

  5.二进制与十六进制互转:

  (1)二进制字符串转十六进制数:还没找到

  (2)十六进制字符串转二进制数:目前还没找到二进制数在c#的表示方法

  6.十进制与十六进制互转:

  (1)十进制字符串转十六进制数:还没找到

  (2)十六进制字符串转十进制数:

            string str = "ff";
            int num = Convert.ToInt32(str, 16); //结果num = 255

总结:字符串转成进制数,只有二、十、十六进制字符串转成十进制数才有效,都是使用函数Convert.ToInt32(str, a),参数str为字符串本身,a为描述字符串str的进制,可以为2、10、16,当a=10时可省略

四、数值转字符串(int——>string)

  1.二进制数转二进制字符串:目前还没找到二进制数在c#的表示方法

  2.十进制数转十进制字符串:

            int num1 = 110;
            string str1 = Convert.ToString(num1); //结果str1 = “110”

  3.十六进制数转十六进制字符串:

            int num1 = 0xff;
            string str1 = Convert.ToString(num1,16); //结果str1 = “ff”

  4.二进制与十进制互转:

  (1)二进制数转十进制字符串:目前还没找到二进制数在c#的表示方法

  (2)十进制数转二进制字符串:

            int num1 = 110;
            string str1 = Convert.ToString(num1,2); //结果str1 = “1101110”

  5.二进制与十六进制互转:

  (1)二进制数转十六进制字符串:目前还没找到二进制数在c#的表示方法

  (2)十六进制数转二进制字符串:

            int num1 = 0xff;
            string str1 = Convert.ToString(num1,2); //结果str1 = “11111111”

  6.十进制与十六进制互转:还没找到

  (1)十进制数转十六进制字符串:

            int num1 = 110;
            string str1 = Convert.ToString(num1,16); //结果num1 = “6e”

  (2)十六进制数转十进制字符串:

            int num1 = 0xff;
            string str1 = Convert.ToString(num1); //结果str1 = “255”

总结:除了二进制数不能描述,其他情况都可以转成功,使用函数为Convert.ToString(num,a),其中num为数值,可以为十进制数值或者十六进制数值,a为描述需要转成的字符串的形式,可以是2、10、16,当a=10时可以省略

五、强转注意数值类型的容量

            byte num = 0xff;
            int  a = Convert.ToInt16(num << 8); //强转失败,因为int16(short)取值范围是-32768~32768,而 num << 8 值为 65280,属于int32或者uint6类型

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-01-07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档