全部问题 > 当前问题

0按位取反之后到底是-1还是1,怎么视频前面说等于1后面又说等于-1

一只猪的感慨 2016-2-25 20:31:28

共 5 个回答

最佳答案

水根 2016-2-25 20:42:36

有符号的最高位是符号位也就是说如果最高位是零的话就是大于零的数,如果是1的话就是小于零的数。

水根 2016-2-25 20:45:58

按位取反就是每一位(包括最高位)都是要计算的,而如果最高位是1的话(仅限有符号类)那就是负数然后按位取反加1,得到的数就是那个数。

水根 2016-2-25 20:48:41

通俗点来说就是一个负数的值就是按位取反加1后得到的一个二进制数转化为十进制,在前面加个负数就行了

水根 2016-2-25 20:49:52

零按位取反就是全1,全1再按位取反加1就是负1。就是这样算出来的

嘿嘿大人 2016-2-26 08:52:01

视频前面说的是位零取反之后是1,而后面说的是十进制数0取反代表-1,两者意义是不一样的

问题来自: 位运算