美文网首页
为什么 a = 2;a = ~a;输出为什么是-3

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

作者: 小飞龙_1419 | 来源:发表于2018-03-22 10:31 被阅读0次

char a=2;

a=0000 0010

~a的意思是取反,取反操作是按bit取反,0变1,1变0,这个操作与符号位无关

~a=1111 1101

它表示出来的是补码!!

补码解释成原码:按原变补顺序逆序操作,即,

先-1为:1111 1101-1=1111 1100

再取反码:符号位不动,数值位取反

1111 1100反码:1000 0011

第一位是符号位,余位为数值

第一位1表示负数

0011=2+1=3

故结果为-3

相关文章

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

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

  • 2,map参数

    1,['1', '2', '3'].map(parseInt); 为什么输出的不是[1, 2, 3],而是[...

  • 定时器&DOM(节点和选取API)

    1、下面这段代码输出结果是? 为什么? 2、下面这段代码输出结果是? 为什么? 3、实现一个节流函数 4. 简单解...

  • 引用类型对象拷贝

    1.引用类型有哪些?非引用类型有哪些2.如下代码输出什么?为什么 3.如下代码输出什么? 为什么 4.如下代码输出...

  • javascript任务队列异步函数

    下面这段代码输出结果是? 为什么? 先输出1,再输出3,最后输出2解释 初始化运行时,主线程会去执行所有的同步任务...

  • setTimeout用法 & 任务队列异步函数节流(异步回调)

    1.下面这段代码输出结果是? 为什么? 最后输出 1 3 2因为setTimeout内的函数会异步计算,在所有步骤...

  • python 3*0.3到底等于多少

    python2和python3中直接运算3 * 0.3都会输出0.8999999999999999 这是为什么呢?...

  • 进阶任务4

    1.引用类型有哪些?非引用类型有哪些 2.如下代码输出什么?为什么 3.如下代码输出什么? 为什么 4.如下代码输...

  • 小课的一点感想

    写作大体上分为四个方向。 1、输出观点 2、 输出方法 3、输出故事 4、抒发感情 为什么要写作呢? 最开始的想法...

  • 郝斌C语言笔记 -- 输入输出函数

    输入和输出函数 1.printf() -- 将变量的内容输出到显示器上 .1四种用法 2.输出控制符 3.为什么需...

网友评论

      本文标题:为什么 a = 2;a = ~a;输出为什么是-3

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