社区
C语言
帖子详情
0取反为什么是-1呢?
yukiwang313
2011-03-14 03:44:51
需要解题步骤啊
...全文
5328
11
打赏
收藏
0取反为什么是-1呢?
需要解题步骤啊
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
h100037
2011-03-14
打赏
举报
回复
1
11111111111111111111111111111111 是补码, 计算机里的表现形式
10000000000000000000000000000001 是源码, -1
源码符号位不变,求反 + 1 就是补码。
所以-1在计算机里就是11111111111111111111111111111111, 0 求反刚好是11111111111111111111111111111111
masmaster
2011-03-14
打赏
举报
回复
负数在计算机里以补码的形式存在
yukiwang313
2011-03-14
打赏
举报
回复
10000000000000000000000000000001是补码吧?怎么会是原码
h100037
2011-03-14
打赏
举报
回复
不大好意思, 说错了, 是补码, 不是反码
负数以补码形式存储
h100037
2011-03-14
打赏
举报
回复
10000000000000000000000000000001 是源码, 就是 -1
zhengjiankang
2011-03-14
打赏
举报
回复
-1 是 0x80000000 也就是10000000000000000000000000000000.
h100037
2011-03-14
打赏
举报
回复
计算机内, 负数已反码形式存储, 符号位不变, 源码求反加1, 就是反码
11111111111111111111111111111111 就是
10000000000000000000000000000001 求反 11111111111111111111111111111110
加1 就是 11111111111111111111111111111111
yukiwang313
2011-03-14
打赏
举报
回复
还是不理解。我知道取反是把0变成1,1变成0,然后符号位的区别只是最高位一个是0 一个是1 那其余位呢?加起来怎么是变成-1的????
bdmh
2011-03-14
打赏
举报
回复
带符号和不带符号的区别,带符号的最高位代表符号位
yukiwang313
2011-03-14
打赏
举报
回复
11111111111111111111111111111111为什么会是-1呢?8懂
pathuang68
2011-03-14
打赏
举报
回复
2
0 = 00000000000000000000000000000000
取反11111111111111111111111111111111
如果是带符号的,上面就是-1
1的
取反
为什么是-2
这里主要讨论非运算~0的结果为什么等于-1,~1的结果为什么等于-2
1的
取反
为什么是-2的详细解析
先求取1的
取反
,也就是将1的二进制数1变成0,0变成1. 1的源码为 00000000 0000000 0000000 0000001 1的
取反
为 11111111 11111111 11111111 1111110 接下来就是对1
取反
的数进行分析 11111111 11111111 11111111 1111110这个数我们不知道是那个数,但我们知道它是一个负数,因为最左侧为1是符号位,表示负数。所以11111111 11111111 11111111 1111110是一个负数的表示方.
java中按位
取反
~5=-6
java中按位
取反
~5=-6。原因:这是因为整数在计算机中是二进制存储的。java中 ~5=-6 ,而这个-6是输出到屏幕上,我们看到的是-6。首先看对5求反,5的二进制原码是:0000 0101,
取反
之后是:1111 1010 ,得到的这个值在计算机中的存储原型也是 1111 1010,而要把这个结果显示出来,到计算机屏幕上就要转换成十进制,也就是说 1111 1010 是补码形式,补码 = ...
计算机负数是
取反
加1,负数补码是
取反
加一,但-42
取反
后末位是1,如何加1?
负数补码是
取反
加一,但-42
取反
后末位是1,如何加1?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!负数补码是
取反
加一,但-42
取反
后末位是1,如何加1?您好,负整数的补码,将其对应正数二进位制表示所有位
取反
包括符号位,0变1,1变0 后加1正42 ,的二进位制 00101010负42 ,反取各位 11010101 最...
C语言按位
取反
~的简单理解
学习按位
取反
时,一直不是很理解,为啥对0
取反
就是-1,对76
取反
就是-77,网上有说记住x+(-x)=-1就可以了,可还是有点难懂。所以我来解释一波? 十进制数 0 的十六进制表示为 0000 0000 对其~
取反
后得到 1111 1111 此时这个值转化为十进制就是255 此时 255-256=-1 同理 76 的十六进制为 0100 1100,
取反
后为1011 0011,转为十进制数为179,256-179= -77 其实就是有符号数的转化,0~255范围内,最大值只能到255,那么255和-1
C语言
69,772
社区成员
243,249
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章