开发者社区> 问答> 正文

c#如何将一个整数转换二进制,并进行位运算

Convert.toString(int,2),只能转成字符串,不能进行位运算,如何进行位运算呢

展开
收起
知与谁同 2018-07-15 15:19:25 4850 0
5 条回答
写回答
取消 提交回答
  • 如果要进行位运算可以用符号&、|、^等
    2019-07-17 22:58:09
    赞同 展开评论 打赏
  • TA有点害羞,没有介绍自己...
    不太清除你的意思,

    是要把一个整数转换为字节串吧. 如果是采用下面的方法.
    byte[] bs = BitConverter.GetBytes(int)

    位运算是对值进行移位,逻辑运算. 需要用到运算符(<<, >>, &, |, ~, ^ )

    还是留个QQ给你吧. 30964994
    2019-07-17 22:58:09
    赞同 展开评论 打赏
  • & | 这些就是位运算
    2019-07-17 22:58:09
    赞同 展开评论 打赏
  • 云栖社区聚能聊、问答管理员~发福利、搞怪,八卦我来,论技术、发话题、写博客你上!
    一般数值都为10进制
    最简单的办法 就是打开windows自带的计算器

    然后点击计算器的查看 选择科学性

    然后输入你要转换的数值 输入完毕之后 直接点击计算器的 二进制 就会以二进制显示了
    2019-07-17 22:58:09
    赞同 展开评论 打赏
  • 进行位运算,是不需要转化成二进制的。这个下面的机器会帮你处理,就算你用汇编,也不需要把数字转化成二进制,然后进行位运算的啊。CPU在运算的时候,内部把所有数据都看成二进制而已。

    Convert 看类名就知道,是提供一个转换函数的。

    位运算只能在 byte, char, short, ushort, int, uint, long, ulong 等类型上进行运算。

    当然 Enum 类型,也是基于这些类型的,也可以用位运算。

    一些例子:

    int a = 123;
    int b = a << 2; //a 左移2位
    int c = b >> 1; //b 右移1位
    int d = a ^ b; //a 和 b 按位异或
    int e = c & d; //c 和 d 按位与
    int f = d | e; //d 和 e 按位或
    int g = ~f; //f 按位取反
    2019-07-17 22:58:09
    赞同 展开评论 打赏
问答分类:
C#
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载