1、利用二進位制宏可以解決C語言不能直接使用二進位制量的問題,宏核心程式碼如下:#define LONG_TO_BIN(n) \( \((n >> 21) & 0x80) | \((n >> 18) & 0x40) | \((n >> 15) & 0x20) | \((n >> 12) & 0x10) | \((n >> 9) & 0x08) | \((n >> 6) & 0x04) | \((n >> 3) & 0x02) | \((n ) & 0x01) \)#define BIN(n) LONG_TO_BIN(0x##n##L)我們可以直接使用BIN(11100111)這種形式來使用常量,這就是最直觀的二進位制形式,非常方便,下載我們新建工程,測試程式碼如圖:
2、由數制轉換基本知識可知二進位制11000111對應十進位制的199,我們使用BIN(11000111)與使用199具有同樣的效果,程式執行結果驗證了這一點。
1、利用二進位制宏可以解決C語言不能直接使用二進位制量的問題,宏核心程式碼如下:#define LONG_TO_BIN(n) \( \((n >> 21) & 0x80) | \((n >> 18) & 0x40) | \((n >> 15) & 0x20) | \((n >> 12) & 0x10) | \((n >> 9) & 0x08) | \((n >> 6) & 0x04) | \((n >> 3) & 0x02) | \((n ) & 0x01) \)#define BIN(n) LONG_TO_BIN(0x##n##L)我們可以直接使用BIN(11100111)這種形式來使用常量,這就是最直觀的二進位制形式,非常方便,下載我們新建工程,測試程式碼如圖:
2、由數制轉換基本知識可知二進位制11000111對應十進位制的199,我們使用BIN(11000111)與使用199具有同樣的效果,程式執行結果驗證了這一點。