C语言printf中的~value是什么意思?

发布网友

我来回答

5个回答

热心网友

~value 相当于对value的值取反
C语言的设计具备了汇编语言的运算能力,它支持全部的位操作符。位操作符是对字节或字中的位进行测试、置位或移位处理,在对微处理器的编程中,特别适合对寄存器、I/O端口进行操作。
6种伟操作符:

(1) & :按位“与”——仅当两个操作数为1时,结果为1,否则为0。如:1000 1000 & 1000 0001 = 1000 0000;

(2) | :按位“或”——仅当两个操作数为0时,结果为0,否则为1。如:1000 1000 | 1000 0001 = 1000 1001;

(3) ^:按位“异或”——仅当两个操作数不同时,相应的输出结果才为1,否则为0。

如:1000 1000 ^ 1000 0001 = 0000 1001 ;

(4) ~ :“取反”——把1置为0,0置为1。如:~1000 1000 = 0111 0111;

(5) <<: “左移”——将变量的各位按要求向左移动若干位。如:0000 1000 <<3 = 0100 0000;

(6) >>: “右移”——将变量的各位按要求向右移动若干位。如:0000 1000>>3=0000 0001;

热心网友

~是按位取反的意思,也就是 value的二进制表示的数值,按位取反,1取反就是0,0取反就是1,例如1011010取反后就是0100101,

热心网友

取决于~value出现的位置。

printf的格式为
printf("format_string", var1, var2 ....);
可以分为格式字符串,和变量区两个部分。

1 出现在变量区。
这时value是一个变量,类型为整型,可能为char,short, int, long或同类的无符号型。

~作为操作符出现,含义为按位取反。
于是这时含义为输出value按位取反的结果。

2 出现在格式字符串区。
如果包含在格式字符串区,那么就是一个简单的文字了,没有其它含义。
会原样输出
~value

热心网友

value只是你定义的一个整形(int型)变量而已,
你把它换成其它任意一个字符(C语言中的关键字、保留字除外)都是可以的.

热心网友

-value-1

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com