取反是什么意思_1取反是多少

取反是什么意思_1取反是多少很多编程语言使用~作为一元按位取反(NOT)操作符,Go重用^XOR操作符来按位取反://错误的取反操作funcmain(){fmt.Println(~2)//bitwisecomplementoperatoris^}//正确示例funcmain(){varduint8=2fmt.Printf(“%08b\n”,d)//00000010fmt.Printf(“%08b\n”

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

很多编程语言使用 ~ 作为一元按位取反(NOT)操作符,Go 重用 ^ XOR 操作符来按位取反:

// 错误的取反操作
func main() {
    fmt.Println(~2)        // bitwise complement operator is ^
}


// 正确示例
func main() {
    var d uint8 = 2
    fmt.Printf("%08b\n", d)        // 00000010
    fmt.Printf("%08b\n", ^d)    // 11111101
}

同时 ^ 也是按位异或(XOR)操作符。

一个操作符能重用两次,是因为一元的 NOT 操作 NOT 0x02,与二元的 XOR 操作 0x22 XOR 0xff 是一致的。

Go 也有特殊的操作符 AND NOT &^ 操作符,不同位才取1。

func main() {
    var a uint8 = 0x82
    var b uint8 = 0x02
    fmt.Printf("%08b [A]\n", a)
    fmt.Printf("%08b [B]\n", b)

    fmt.Printf("%08b (NOT B)\n", ^b)
    fmt.Printf("%08b ^ %08b = %08b [B XOR 0xff]\n", b, 0xff, b^0xff)

    fmt.Printf("%08b ^ %08b = %08b [A XOR B]\n", a, b, a^b)
    fmt.Printf("%08b & %08b = %08b [A AND B]\n", a, b, a&b)
    fmt.Printf("%08b &^%08b = %08b [A 'AND NOT' B]\n", a, b, a&^b)
    fmt.Printf("%08b&(^%08b)= %08b [A AND (NOT B)]\n", a, b, a&(^b))
}
    10000010 [A]
    00000010 [B]
    11111101 (NOT B)
    00000010 ^ 11111111 = 11111101 [B XOR 0xff]
    10000010 ^ 00000010 = 10000000 [A XOR B]
    10000010 & 00000010 = 00000010 [A AND B]
    10000010 &^00000010 = 10000000 [A 'AND NOT' B]
    10000010&(^00000010)= 10000000 [A AND (NOT B)]
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170476.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月14日 下午11:16
下一篇 2022年8月14日 下午11:16


相关推荐

  • java foreach和for循环区别_java相关:老生常谈foreach(增强for循环)和for的区别

    java foreach和for循环区别_java相关:老生常谈foreach(增强for循环)和for的区别java 相关 老生常谈 foreach 增强 for 循环 和 for 的区别发布于 2020 8 18 复制链接下面小妖就为大家带来一篇老生常谈 foreach 增强 for 循环 和 for 的区别 小妖觉得挺不错的 现在就分享给大家 也给大家做个参考 一起跟随小妖过来看看吧首先说一下 foreach 有的也叫增强 for 循环 foreach 其实是 for 循环的一个特殊简化版 再说一下 foreach 的书写格式 for 元

    2026年3月18日
    1
  • Python 各种画图

    Python 各种画图用 Python 画各种图所作的简单笔记 不断更新

    2026年3月18日
    2
  • hbase 单机安装部署

    hbase 单机安装部署hbase 单机安装部署

    2022年4月23日
    38
  • 用python的pandas读取excel文件中的数据

    用python的pandas读取excel文件中的数据一 读取 Excel 文件 使用 pandas 的 read excel 方法 可通过文件路径直接读取 注意到 在一个 excel 文件中有多个 sheet 因此 对 excel 文件的读取实际上是读取指定文件 并同时指定 sheet 下的数据 可以一次读取一个 sheet 也可以一次读取多个 sheet 同时读取多个 sheet 时后续操作可能不够方便 因此建议一次性只读取一个 sheet 当只读取一个 sheet 时 返回的是 DataFrame 类型 这是一种表格数据类型 它清晰地展示出了数据的表格型结构 具体写法为

    2026年3月17日
    1
  • win10 tomcat闪退[通俗易懂]

    win10 tomcat闪退[通俗易懂]1.环境变量配置CLASSPATH:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\lib\servlet-api.jar;%TOMCAT_HOME%\BIN Path:E:\mysql-5.6.39-winx64\bin;C:\ProgramData\Oracle\Java\javapath;%JAVA_HOME%\bin;…

    2022年5月29日
    36
  • QList 用法

    QList 用法QList 是一种表示链表的模板类 QList lt T gt 是 Qt 的一种泛型容器类 它以链表方式存储一组值 并能对这组数据进行快速索引 还提供了快速插入和删除等操作 QList QLinkedList 和 QVector 提供的操作极其相似 对大多数操作来说 我们用 QList 就可以了 其 API 是基于索引 index 的 因此用起来比 QLinkedList 更方便 QLinkedList 的 AP

    2026年3月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号