输入二进制数,如何一次一位取得这个二进制的位呢?

kh22 2011-03-24 10:20:23
刚学C#不久,考虑用除法和求模运算符,但思路就是不通,望各位能指点下。
...全文
195 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ShinNakoruru 2011-03-24
  • 打赏
  • 举报
回复
int x;

for(i)
{
bit= x>>i & 1;
}
Daqing 2011-03-24
  • 打赏
  • 举报
回复

for (int i = 1; i < 二进制数据.length+1; i++)
{
Console.WriteLine(Math.Floor((Math.Pow(2, 二进制数据.length) % Math.Pow(10, i)) / Math.Pow(10, (i - 1)))); //获取N个2位数的方法,从第一位开始。
}
  • 打赏
  • 举报
回复
用移位操作符>> <<
遍历或者用位索引访问?
Char num = string.ToCahrArray()[int index];
老胡写代码 2011-03-24
  • 打赏
  • 举报
回复
能实现,但是方法可能有点笨,假设textbox1是输入数字的,那么点击button1则textbox2显示二进制
private void button1_Click(object sender, EventArgs e)
{
this.textBox2.Text = string.Empty;
int i = int.Parse(this.textBox1.Text);
List<byte> s = new List<byte>();
int ii = i;
while (ii > 0)
{
if ((ii >> 1) > 0 && (ii >> 1) !=1)
{
s.Add((byte)(ii % (ii >> 1)));
}
else if ((ii >> 1) == 1)
{
s.Add((byte)(ii % 2));
}
else
{
s.Add((byte)ii);
}
ii = ii >> 1;
}
s.Reverse();
foreach (byte b in s)
{
this.textBox2.Text += b.ToString();
}
}

111,098

社区成员

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

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

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