keil 有更好的方法来表示二进制吗

如题所述

//Keil作为C语言平台,好像不支持二进制,一般写代码用十六进制
//如果一定要写二进制,可以用一些有特征的字符来宏定义
//以达到像二进制一样的视觉效果。
//比如:字母M看起来比较黑,下划线看起来比较白,于是可以定义一些宏:
#define _0MMM     0x01
#define _0___     0x00
#define _1MMM     0x02
#define _1___     0x00

#define _2MMM     0x04
#define _2___     0x00
#define _3MMM     0x08
#define _3___     0x00

#define _4MMM     0x10
#define _4___     0x00
#define _5MMM     0x20
#define _5___     0x00
#define _6MMM     0x40
#define _6___     0x00
#define _7MMM     0x80
#define _7___     0x00

//写常数时这样:比如定义char a为(00110100)B,可以这么写:
char a =( _7___|_6___|_5MMM|_4MMM |_3___|_2MMM|_1___|_0___ );

//看起来就有点二进制的效果了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-12-03

//C语言平台,并不支持二进制。(也有少数例外。)

//可用宏定义,令一些字符,表示二进制的1即可。

//比如:

#define B01     1

#define B11     2

#define B21     4

#define B31     8

#define B41     16

#define B51     32

#define B61     64

#define B71     128

 

//当定义常数 a 为二进制 0011 0100 时,

//其中只有 542 三个位为 1,那么如下即可:

  char a = B51 + B41 + B21;

//为 0 的位,无须关心,什么也不用写。

本回答被网友采纳
相似回答