八进制的2-5
我想先算出2-5然后再转为八进制,也就是-3转八进制。那这样的话根据负数的转化规则,就是先将源码转成反码,然后再将反码加一转成补码。我的机器是六四位的
根据这个圆形图正着求可以先求反再加一,如果逆着看那即是从0到f的顺时针方向找-3.也即是最大的f*64-2。
三的源码:0011 ,然后取反:1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1100,然后加一得到反码 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1101 转成八进制。就是1 777 777 777 777 777 777 775
对87ad6进行加密后在解密,密钥为5
将这个数装换为二进制1000 0111 1010 1101 0110 然后5的二进制是0101之后再对这两个数做异或。0101补齐0.
然后得到的就是10000111101011010011 之后也可以再异或回去。也即是用 10000111101011010011 这个数再异或5,就拿回 87ad6 了。
只用逻辑运算 计算2-3
2-3也就是2+(-3)
所以用先异或再and监测的方法,模拟计算机的加法。
结果就是显而易见结果就是-1