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

十六进制取反操作

作者: 文艺的小布丁 | 来源:发表于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

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

相关文章

  • 十六进制取反操作

    有天群里有人问怎么给十六进制取反,就是0x61E90000取反后得到0x9E16FFFF. 有的就讨论了,先转为二...

  • 为什么 a = 2;a = ~a;输出为什么是-3

    char a=2; a=0000 0010 ~a的意思是取反,取反操作是按bit取反,0变1,1变0,这个操作与符...

  • 知识点收集

    负数的二进制表示方法二、八、十、十六进制转换按位取反

  • Swift - 位运算符

    位运算符 取反运算 位取反运算符(~) 是对所有位的数组进行取反 0000 1111 取反操作后变成 1111 0...

  • 强大的位运算符

    位取反运算符 位取反运算符(~)是对所有位的数字进行取反操作位取反运算符.png 位与运算符 位与运算符(&)可以...

  • swift-位运算符

    1. 位取反运算符( ~ ) 位取反运算符(~ )是对所有位的数字进行取反操作 2. 位与运算符( &) 位与运算...

  • C++位操作

    位操作 基本的位操作符有与、或、异或、取反、左移、右移这6种。在这6种操作符,只有取反是单目运算符,其它5种都是双...

  • 位运算符

    位取反运算符 取反翻运算符 ~ 是对所有位的数字进行取反操作0 变 11 变 0 位与运算符 位与运算符 & 可以...

  • java 取反学习

    问题 最近学习java 位操作,取反运算遇到了问题。 c = 2 取反,10变01, 结果应该为1,但运行结果为-...

  • 位运算符

    位取反运算符 位取反运算符(~)是对所有位的数字进行取反操作 位与运算符 位与运算符(&)可以对两个数的比特位进行...

网友评论

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

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