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.
时间: 2024-09-27 21:35:41