KeilC51中直接使用二进制数方法
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
KeilC51中直接使用二进制数方法
Keil C51 中直接使用二进制数方法
在Keil C51 中数不能直接以二进制形式赋值,虽然在8051 的汇编中是可以的。
二进制数虽然书写长,易出错,但是由于是一位位写的,所以程序设计者能够很明确的看到每一位的状态,看得比较直观。
于是很多人怀念了8051 的汇编,很想在C51 中使用二进制。
没猜错的话搜到本篇日志的人很可能就是来找这种解决办法的,下面两种办法都是不错的选择。
方法一:
建立一个头文件,将所有的二进制数宏定义列举出来,用的时候直接使用宏定义,头文件定义:binary(右键目标另存为下载)。
方法二:
做一个带参数宏定义,将输入的类二进制数变换为对应的16 进制数,
整个定义和使用实例请见下文,可以直接使用,如果想研究原理又看不懂带参宏定义的朋友们请参考谭浩强的《C 程序设计》预处理命令一章内容(第三版在P204-P211)。
#define LongT oBin(n)
(
((n 21) 0x80) |
((n 18) 0x40) |
((n 15) 0x20) |
((n 12) 0x10) |
((n 9) 0x08) |
((n 6) 0x04) |
((n 3) 0x02) |。