|
發(fā)布時間: 2024-9-26 12:07
正文摘要:。。。離開上一次發(fā)帖( 單板機上的實時時鐘加裝后備紐扣電池,和Windows時間同步)已經(jīng)有好幾個星期了。。。這兩天路過 CSDN 上一些菜鳥寫的有關如何在 KEIL-C51 IDE 里 輸入、編輯2進制數(shù)、64位整數(shù)的帖子,帖子的 ... |
| 這樣不怎么實用,還不于用1移位實現(xiàn)得快 |
hclin 發(fā)表于 2024-9-28 16:53 用 enum 來做,C語言的新手比較容易理解,盡管要遍歷256 個 8 位無符號整數(shù),源文件大了一點,但并不會導致HEX文件的虛胖,浪費MPU 非常有限的存儲空間。對于那些學習C/C++ 達到 sophomore 等級的同學,也許可以推薦更高級的宏定義,例如: #define L2B(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 b(n) L2B(0x##n##l) 之后,你就可以用 b(10010010010) 這樣的格式輸入 2 進制常數(shù)了。 根據(jù) 16/32/64 位的長短,自行修改上面的宏定義。。。。新版C++ 編譯器已經(jīng)直接支持2 進制常數(shù),或者自己寫一個 2 進制數(shù)據(jù)類型的 Class 也可以。希望這些注解能幫到 正在學習 C/C++ 的同學。 |
| 天啊~用 enum 來實現(xiàn)。在16bit,32bit的情況下,是會要人命的。 |
Powered by 單片機教程網(wǎng)