using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("0x{0:x}", 0xf8 & 0x3f );
Console.Read();
}
}
}
这段代码中"0x{0:x}", 0xf8 & 0x3f是我不是很理解的,于是请教师傅,上网查,得到一点收获,现在与大家分享一下。首先,这段代码设计到二进制与十六进制的转换,其次,还涉及到“与”的问题。
0x{0:x}表示把 0xf8 &0x3f相“与”的结果打印出来,是以十六进制的格式打印,不满8为就补0.
那么f表示什么呢?用二进制表示就是1111转换为十进制等于15,所以f8用二进制表示为1111 1000,而3f二进制则为0011 1000
说到“与”,就想把逻辑关系都说一下。
至于他们中间的运算符各自代表的 含义,可以自己查一下。那么现在我们用到的是“与”,所以对f8和3f中相对应的位置进行“与”判断得到下面的结果:0011 1000转换为二进制为38.