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 = -61C 语言中 ~60 == -61
计算~0
0 的补码0000 0000取反 1111 1111逆操作 -1 => 1111 1110取反 => 0000 0001即 1又因此处 是取反 负数 即 ~0 == -1
任意数
B=x~B= x二进制 =>取反 => 减1 => 再取反 => 转化为 10 进制的负数
转载请注明原文地址:https://ipadbbs.8miu.com/read-51547.html