segmentfaultsegmentfault
注册登录
产品
社群
使用“Bing”搜本站使用“Google”搜本站使用“百度”搜本站✓站内搜索
注册登录
问答博客资讯标签用户活动

logo极客观点logo项目管理logoHarmonyOS
开发者社区

javascript
前端
python
node.js
react
vue.js
php
laravel
go
人工智能
mysql
linux
ios
java
android
css
typescript
spring
程序员

logoONES 研发管理logo思否企业问答logo安谋科技 XPU
问答博客资讯标签用户活动

logo极客观点logo项目管理logoHarmonyOS
开发者社区

javascript
前端
python
node.js
react
vue.js
php
laravel
go
人工智能
mysql
linux
ios
java
android
css
typescript
spring
程序员

logoONES 研发管理logo思否企业问答logo安谋科技 XPU

如何通过位运算将一个数变为其对应的负数?

头像
douya0808
    4401088127
    发布于
    2016-04-20
    int i = 5;
    

    如何通过位运算将i变为-5呢?

    位运算
    阅读 5.3k
    2 个回答
    得票最新
    头像
    心不在焉
      2k2615
      发布于
      2016-04-20

      取反加1就可以了,负数补码就是这样定义的
      ~i + 1

      头像
      米斯唐
        81638
        发布于
        2016-04-20

        楼上说的非常好,学习了,上一个GO的代码。

        package main
        
        import (
            "fmt"
        )
        
        func main() {
            i := 6
            fmt.Println(^i + 1)
        }
        撰写回答
        你尚未登录,登录后可以
        • 和开发者交流问题的细节
        • 关注并接收问题和回答的更新提醒
        • 参与内容的编辑和改进,让解决方法与时俱进
        推荐问题
        • 想问一下一个C语言的位运算小问题?
          想问一下一个C语言的位运算小问题.有没有一个简单的表达式的写法,可以得到一个32位无符号数,只保留其最左侧或者最右侧的1的结果?比如35=(000..0100011),得到32或者1?用循环写的话不难,但,用一个简洁的表达式能写出来吗?

          1 回答959 阅读✓ 已解决

        相似问题
        • 任意两个整数A,B能否通过某种运算,让计算结果与两个数一一映射?

          1 回答3.4k 阅读✓ 已解决

        • 负数的算术右移有什么规律?

          2 回答9.7k 阅读

        • 位运算怎么对一个十进制数去除个位?

          2 回答1.8k 阅读

        • js中较大的数值进行右移位运算,结果不正确

          1 回答4.7k 阅读

        找不到问题?创建新问题
        宣传栏
        思否旗下产品
        SegmentFault
        思否企业服务
        思否公开课
        思否企业问答
        ONES 旗下产品
        ONES
        Tower
        为知笔记
        企业问答
        ONES.com
        项目管理百科
        资源
        每周精选
        用户排行榜
        帮助中心
        建议反馈
        声望
        勋章
        合作
        关于我们
        广告投放
        联系我们
        合作伙伴
        关注
        产品技术日志
        社区运营日志
        市场运营日志
        社区访谈
        条款
        服务协议
        隐私政策
        下载 App

        Copyright © 2011-2025 SegmentFault. 当前呈现版本 25.06.04

        浙ICP备15005796号-2浙公网安备33010602002000号ICP 经营许可 浙B2-20201554

        杭州堆栈科技有限公司版权所有

        思否 - 凝聚集体智慧,推动技术进步