美文网首页
十六进制取反操作

十六进制取反操作

作者: 文艺的小布丁 | 来源:发表于2020-12-21 11:17 被阅读0次

    有天群里有人问怎么给十六进制取反,就是0x61E90000取反后得到0x9E16FFFF.

    有的就讨论了,先转为二进制然后按位取反,完成后再转十六进制.

    我想了下,不管多少进制,都是数字,观察后发现两个数组相加和为0xFFFFFFFF.那就是可以用0xFFFFFFFF- 原值就是新的值.公式如下:

    定义原十六进制数为int1,新十六进制数为int2 ,那么

    int2 = 0xFFFFFFFF - int1;

    int2即为得到的新值.

    接着讨论下把十六进制转为二进制再取反的情况.

    0x61E90000转为二进制是0110 0001 1110 1001 0000 0000 0000 0000.

    0x9e16FFFF转为二进制是 1001 1110 0001 0110 1111 1111 1111 1111.

    可见确实是按位取反得到的,那么如何对十六进制按位取反操作呢,使用波浪线~来,如下

    int2 = ~int1

    我们知道,计算机是不能把数字以二进制格式打印的,只能打印八进制,十进制,十六进制,因为数字在计算机中都是二进制存着的,对十六进制按位取反也就是对二进制数字按位取反.

    相关文章

      网友评论

          本文标题:十六进制取反操作

          本文链接:https://www.haomeiwen.com/subject/owqrnktx.html