C# 怎么表示bit

耗子哭死猫 2020-06-18 04:00:17
得到二进制是00011101‬
取bit2和3 也就是11
01表示1 10表示2 11表示3 这个表示得出的数是怎么运算的,
...全文
17558 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
SoulRed 2020-06-26
  • 打赏
  • 举报
回复
byte b= 0B00001111; 这就是了
圣殿骑士18 2020-06-24
  • 打赏
  • 举报
回复
private string Convert2To16(string value)
        {
            value = value.Replace(" ", "");
            value = value.Replace("-", "");
            string str = string.Format("{0:x}", Convert.ToInt64(value, 2));
            return str;
        }


        private string Convert16To2(string value)
        {
            long intVal = Convert.ToInt64(value, 16);
            string result = Convert.ToString(intVal, 2);
            return result;
        }

        private string Convert10To16(long value)
        {
            return Convert.ToString(value, 16);
        }

        private long Convert16To10(string value)
        {
            return Convert.ToInt64(value, 16);
        }

        private string Convert10To2(long value)
        {
            return Convert.ToString(value, 2);
        }

        private long Convert2To10(string value)
        {
            return Convert.ToInt64(value, 2);
        }
Hunshy 2020-06-23
  • 打赏
  • 举报
回复
我猜你的问题里的00011101‬是一个byte类型。想要拿到第二位和第三位的值可以直接这么写
        Int32 Get23Bit(byte val)
        {
            Int32 x = val >> 2; // 右移两位。把00011101变为00000111
            x = x & 0b00000011; // 与运算,只保留最后两位即把00000111变为00000011
            return x; // 返回11
        }
老胡写代码 2020-06-18
  • 打赏
  • 举报
回复
void ShowBit(int i) { Stack<int> stack = new Stack<int>(); while(i>0) { stack.Push(i % 2); i = i >> 1; } while(stack.Count >0) { Console.Write(stack.Pop()); } } 输入10, 显示1010
耗子哭死猫 2020-06-18
  • 打赏
  • 举报
回复
引用 2 楼 杀马特丶蛮牛 的回复:
你问为啥01表示1 10表示2 11表示3吗?这是二进制转10进制
原先是转进制,我还以为是运算了,卧槽
杀马特丶蛮牛 2020-06-18
  • 打赏
  • 举报
回复
你问为啥01表示1 10表示2 11表示3吗?这是二进制转10进制
wanghui0380 2020-06-18
  • 打赏
  • 举报
回复
C#里没有bit,C#最小单位是byte(8bit) 正常俺们自己位操作取值 有些情况我们用bitArray(微软给了个BitAarry类,不过这类把有时候比较难看,因为微软的大小端处理实在有些让人郁闷)

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧