keil5中输入一串二进制数要不要添加标志

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了keil5中输入一串二进制数要不要添加标志相关的知识,希望对你有一定的参考价值。

参考技术A 方法一:
  建立一个头文件,将所有的二进制数宏定义列举出来,用的时候直接使用宏定义,头文件定义:binary(右键>>“目标另存为”>>下载)。
  方法二:
  做一个带参数宏定义,将输入的类二进制数变换为对应的16进制数,整个定义和使用实例请见下文,可以直接使用,如果想研究原理又看不懂带参宏定义的朋友们请参考谭浩强的《C程序设计》预处理命令一章内容(第三版在P204-P211)。
  #define LongToBin(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) LongToBin(0x##n##l)
  void main(void)
  
  unisigned char c;
  c = Bin(10101001); //相当于c = 0xA9
  
  上面预处理指令中使用了反斜杠,这里解释一下:每一条预处理语句总是以"#"字符开始,并且不能超过一行,一旦遇到换行符语句就被当做结束,唯一的一种能将预处理语句扩展到多行的办法就是在换行符之前加一个反斜杠('')。

以上是关于keil5中输入一串二进制数要不要添加标志的主要内容,如果未能解决你的问题,请参考以下文章

如何将一串二进制数转换为 C 中的字符(每个字符都必须有一个半字节)?

剑指offer

java写的二进制计算器

将十进制数转换为标志值

以IP地址形式输出

以IP地址形式输出