C语言的0和1都是什么意思啊?

如题所述

1
<<
0
是把1
按2进制
左移0位,结果还是
1
,2进制
0000
0001
1
<<
1,
是把1
按2进制
左移1位,结果是2,2进制
0000
0010
-------------------------------------------
enum
{
gtk_accel_visible
=
1
<<
0,
gtk_accel_locked
=
1
<<
1,
gtk_accel_mask
=
0x07
}
等价于:
#define
gtk_accel_visible
(1
<<
0)
#define
gtk_accel_locked
(1
<<
1)
#define
gtk_accel_mask
0x07
--------------------------------------
typedef
enum
{
gtk_accel_visible
...
gtk_accel_locked
...
gtk_accel_mask
...
}
gtkaccelflags;
定义变量类型:
gtkaccelflags
该类型变量正确的取值
只有
gtk_accel_visible,gtk_accel_locked,gtk_accel_mask。
其它值是错误的。
--------
顾名思义:
gtkaccelflags
gtk
进入标志
gtk_accel_visible
可见
0000
0001
gtk_accel_locked
锁定
0000
0010
gtk_accel_mask
屏蔽值
0000
0111
----
应用例子:
gtkaccelflags
flag1;
flag1
=
。。。;
if
(flag1
==
gtk_accel_visible){
....
}
else
{
.....
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-04
0

false
1

true
(其实应该是非零)
0
是0
1
是1
'0'

字符'0'
'1'

字符'1'
二进制符号
十进制
0
=
二进制
0000
=
十六进制0
十进制
1
=
二进制
0001
=
十六进制1
十进制
2
=
二进制
0010
=
十六进制2
十进制
3
=
二进制
0011
=
十六进制3
十进制
4
=
二进制
0100
=
十六进制4
十进制
5
=
二进制
0101
=
十六进制5
十进制
6
=
二进制
0110
=
十六进制6
十进制
7
=
二进制
0111
=
十六进制7
十进制
8
=
二进制
1000
=
十六进制8
十进制
9
=
二进制
1001
=
十六进制9
十进制
10
=
二进制
1010
=
十六进制a
十进制
11
=
二进制
1011
=
十六进制b
十进制
12
=
二进制
1100
=
十六进制c
十进制
13
=
二进制
1101
=
十六进制d
十进制
14
=
二进制
1110
=
十六进制e
十进制
15
=
二进制
1111
=
十六进制f
相似回答