请教一个C#代码????

来源:百度知道 编辑:UC知道 时间:2024/06/27 03:37:04
using System;
using System.Text;
namespace Ex_3_1
{
class Program
{
static void Main(string[] args)
{
int t;
byte val = 1;
for (t = 0; t > 0; t = t / 2)
if ((val & t) != 0)
Console.Write("{0}&{1}=1 ",t,val);
if ((val & t) == 0)
Console.Write("{0}&{1}=0",t,val);
Console.Read();
}
}
}

请问是什么意思啊,请高手帮忙详细讲解,谢谢啦!
这是教材上面的代码,看不懂所以请教大家,无心帮助的就不要来回答了,免得累着您,谢谢了!

这应该是某道试题上面的吧,要不没有谁这么无聊写这语句。
for (t = 0; t > 0; t = t / 2)这里循环根本不能执行,是诱惑你的,只不过给t赋了一个初值0而已。因此执行了
if ((val & t) == 0)
Console.Write("{0}&{1}=0",t,val);
输出结果为:0&1=0

其实你这个循环就有问题,byte的有效范围是0~255,这样就产生了下溢,你若要忽然下溢,加上check关键字

应该是十进制转二进制,但有点问题!
得先给t赋值!而且t应为byte!

那个for循环是不是有问题啊!垃圾代码吧

垃圾代码

先把C# for语法学会再来,花括弧呢?