C# 之 二进制的简单使用

举报
陈言必行 发表于 2021/08/13 23:17:02 2021/08/13
【摘要】 C# 之 二进制的简单使用 想在C#中使用二进制座位一组变量的存储,,, 举个栗子:有A,B,C,D 四个变量作为bool值要使用,当要和服务器做交互的时候发现四个变量每个值的状态都要传递,若不想每次传递四个值,而又要用一个值表示四种状态,这时要怎么做呢? 这时和服务器约定好,A,B,C,D, 分别用 1,10,100,1000 表示,,,则当我给服务器传递的...

C# 之 二进制的简单使用


想在C#中使用二进制座位一组变量的存储,,,
举个栗子:有A,B,C,D 四个变量作为bool值要使用,当要和服务器做交互的时候发现四个变量每个值的状态都要传递,若不想每次传递四个值,而又要用一个值表示四种状态,这时要怎么做呢?
这时和服务器约定好,A,B,C,D, 分别用 1,10,100,1000 表示,,,则当我给服务器传递的时候,只需要一个四位数的字符串进行传递就可以了,,,(如:传递“1011”,则表示A,C,D为True,B为False),那么服务器接到我这字符串要怎么解析呢,,这就用到了,二进制数的运算,将接收到的值和之前约定好的值做 与(&)运算,若结果不等于0,则说明此值为真,反之为假。【如:1101 & 1 != 0,则A为真,1101 & 10 = 0,则B为假】

后来发现这个想法有点傻,如果有这个需求的话,我们完全可以通过分解字符串来处理这个问题,1为真,0为假,也许会更方便些,,需要做的是两面解析的时候一一对应就可以了。

下面列举了些C#中的进制转换,有复习学习了一遍
  class Program { static void Main(string[] args) { string bstr = "00000010"; string bstr1 = "00000000"; byte b = Convert.ToByte(bstr, 2); byte b1 = Convert.ToByte(bstr1, 2); Console.WriteLine("字符串'00000010'转二进制 :" + b); //二进制之间运算 Console.WriteLine("00000010 | 00000000: " + (b | b1)); Console.WriteLine("00000010 & 00000000: " + (b & b1)); //十进制转二进制 Console.WriteLine("64 --> 十进制转二进制: " + Convert.ToString(64, 2)); //十进制转八进制 Console.WriteLine("64 --> 十进制转八进制: " + Convert.ToString(64, 8)); //十进制转十六进制 Console.WriteLine("64 --> 十进制转十六进制: " + Convert.ToString(64, 16)); //二进制转十进制 Console.WriteLine("00000100 --> 二进制转十进制: " + Convert.ToInt32("00000100", 2)); //八进制转十进制 Console.WriteLine("64 --> 八进制转十进制:" + Convert.ToInt32("64", 8)); //十六进制转十进制 Console.WriteLine("FF --> 十六进制转十进制: " + Convert.ToInt32("FF", 16)); Console.ReadKey(); } }

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

运行图


相关链接:C# 中的类型转换(Convert类)

文章来源: czhenya.blog.csdn.net,作者:陈言必行,版权归原作者所有,如需转载,请联系作者。

原文链接:czhenya.blog.csdn.net/article/details/93862383

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。