取反运算是什么意思?

取反运算是什么意思?,第1张

比如说byte类型的5,在内存中是00000101,按位取反后就是11111010

当你再次输出这个数时就变成了250

按位取反就是1变0,0变1

首先你要知道现在我们用的多数都是32位机,所以整形数都是4个字节

那么再看看按位取反的结果

00000000 00000000 00000000 00000101 这是5

00000000 00000000 00000000 00000000 这是0

11111111 11111111 11111111 11111111 这是-1

11111111 11111111 11111111 11111110 这是-2

11111111 11111111 11111111 11111101 这是-3

11111111 11111111 11111111 11111100 这是-4

11111111 11111111 11111111 11111011 这是-5

11111111 11111111 11111111 11111010 这是5取反的结果-6

运算符"!"是逻辑非运算符;"~"才是按位取反运算符。

经过"!"运算后,运算结果只有0或1;而经过"~"运算后,结果有多种,取决于 *** 作数。

下面通过实例来介绍这个运算符的使用方法:

int a=10, b, c

b = !a   // 运算后b=0,因为a不等于0(即为真),所以取非后等于0(为假)

c = ~a   // 运算后c=5,因为a的二进制位1010,按位取反后变为0101(即等于5)

1.运算符&amp。

2.#34。

3.!&amp。

4.#34。

5.是逻辑非运算符。

6.&amp。

7.#34。

8.~&amp。

9.#34。

10.才是按位取反运算符。

11.经过&amp。

12.#34。

13.!&amp。

14.#34。

15.运算后,运算结果只有0或1。

16.而经过&amp。

17.#34。

18.~&amp。

19.#34。

20.运算后,结果有多种,取决于 *** 作数。

21.下面通过实例来介绍这个运算符的使用方法:int?a=10,?b,?c。

22.b?=?!a。

23.???//?运算后b=0,因为a不等于0(即为真),所以取非后等于0(为假)c?=?~a。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5795927.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-01-31
下一篇 2023-01-31

发表评论

登录后才能评论

评论列表(0条)

保存