课程
/后端开发
/Java
/二进制基础
比如3是00000000 00000000 00000000 00000011,
给它加1是怎么算的?减1是怎么算的?求计算过程
2016-03-21
源自:二进制基础 3-1
正在回答
二进制用补码进行运算。3的补码是00000011(注:最高位0表示为正数、若为1则表示为负数;正数的补码与原码、反码相同),1的补码是00000001;然后把这两个数相加(注:相加2进1)得到00000100(把它转化为原码还是00000100即为4)
Ciry 提问者
上面有一点讲的不对,补码是一种运算,是不分正数负数的。补码运算的规则是将该数取反,然后再加1,所以3的补码是11111.....1101,在计算机中,整数的存储是,正整数以原码存储,负整数以其正整数的补码存储。所以3的补码转换成十进制是-3.
3+1就是每个位相加,满位就进1,3-1就是3加上1的补码,因为3-1=3+(-1),而-1是1的补码。
如果手上有计算机科学导论这本书,可以看下第三 和四章
举报
二进制是计算机唯一能识别的语言,是学习计算机技术必备的知识