【发布时间】:2014-04-28 15:23:10
【问题描述】:
!!!!已回答!!!!
我需要一点帮助来完成我的简单位操作程序。
- 向用户询问号码
- 打印数字的二进制表示
- 向用户询问位位置和位值
- 应用更改
- 以二进制形式显示用户所做的更改
- ??????再次将更改转换为数字。 ????????????
我只需要第 5 步的一点帮助,正如您从我的代码中看到的那样,我是一个完全的菜鸟,所以请不要笑 :) 任何帮助将不胜感激。
Console.WriteLine("Enter integer number");
int number = Convert.ToInt32(Console.ReadLine());
string binaryString = Convert.ToString(number, 2);
Console.WriteLine("The binary representation of {0} is", number);
Console.WriteLine(binaryString.PadLeft(16, '0'));
BitArray b = new BitArray(new int[] { number });
Console.WriteLine("Enter bit's position (0 to 15)");
int position = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Enter bit's value (true or false)");
bool value = Convert.ToBoolean(Console.ReadLine());
b.Set(position, value); //set value to given position based on input from the user
Console.WriteLine("Your changes transformed \n{0} \nto ",binaryString.PadLeft(16,'0'));
for (int i = 15; i >= 0; i--)
{
if (b[i] == true)
{
Console.Write(1);
}
else
{
Console.Write(0);
}
}
Console.WriteLine();
【问题讨论】:
-
这将对您有所帮助。 stackoverflow.com/questions/5283180/…
-
不清楚你在问什么?请本地化问题,只问你想问的部分
-
谢谢大家,我在这里提出问题后立即找到了解决方案,我试图完成一整天,这对我有用,我也会尝试 bansi 的建议 int[] array = 新的 int[1]; b.CopyTo(数组, 0); Console.WriteLine(array[0]);
-
如果您有正确的答案,您应该考虑将其添加为答案,并将其标记为已接受的答案,而不是添加“已回答!!”在你的 OP...