閱讀680 返回首頁    go 阿裏雲 go 技術社區[雲棲]


C#之"0x{0:x}"

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.

最後更新:2017-04-03 12:54:38

  上一篇:go C# 係統應用之獲取Windows最近使用記錄
  下一篇:go Java7裏try-with-resources分析