大家好,又见面了,我是你们的朋友全栈君。
C语言中常见 ~Number ,怎么计算?
计算一个数字的 ~number
- 比如说现在有 A=60
- 所谓~,就是我们要找到那个负数的补码值等于这个数字的取反。
- 那么A 的8位二进制数 就是 0011 1100
- 那首先要计算 ~A 即 ~60 , 那么先取反
- 即 1100 0011 。
- 因为 负数的补码是 取反 1。
- 所以此处逆向操作需要 -1 取反
- 即 1100 0011 -1 == 1100 0010 (第一步逆向操作)
- 1100 0010 =>取反=> 00111101 => 十进制的 61
- 最后结果 A == 60 , ~A = -61
- C 语言中 ~60 == -61
计算~0
- 0 的补码
- 0000 0000
- 取反 1111 1111
- 逆操作 -1 => 1111 1110
- 取反 => 0000 0001
- 即 1
- 又因此处 是取反 负数 即 ~0 == -1
任意数
- B=x
- ~B= x二进制 =>取反 => 减1 => 再取反 => 转化为 10 进制的负数
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。