开发者社区> 问答> 正文

计算机的二进制带符号运算为什么用0表示正数1表示负数

计算机的二进制带符号运算为什么用0表示正数1表示负数

展开
收起
知与谁同 2018-07-17 18:08:33 4965 0
3 条回答
写回答
取消 提交回答
  • 阿里云开发者社区运营负责人。原云栖社区负责人。
    0代表的是正,1代表的是1,在计算机二进制中,计算机只能辨别0和1,如果是有符号数字,最高位(左边第一位)表示符号,0表示正数,1表示负数。。
    2019-07-17 22:58:01
    赞同 展开评论 打赏
  • 胜天半子
    二进制中,如果是有符号数字,最高位(左边第一位)表示符号,0表示正数,1表示负数 例如用原码表示2和-2分别是 010和110 其中最前面的0和1不是表示数字大小,而是表示正数和负数. 另外还有反码和补码,这里不多说了,想了解联系我
    2019-07-17 22:58:01
    赞同 展开评论 打赏
  • 云栖社区聚能聊、问答管理员~发福利、搞怪,八卦我来,论技术、发话题、写博客你上!
      在二进制码中,为了区分正负数,采用最高位是符号位的方法来区分,正数的符号位为0、负数的符号位为1.剩下的就是这个数的绝对值部分,可以采用原码、反码、补码3种形式来表示绝对值部分。
      原码最简单,也最好理解.原码就是绝对值的二进制数形式:例如+7的8位二进制原码是00000111,-7的8位二进制原码是10000111。
      但对于二进制运算而言,原码的运算不够方便,当两个数相加时,先要判断这两个数的符号是否相同,符号不同的话,还要判断哪一个数的绝对值更大.所以在计算机中,通常都是采用补码形式。
      正整数的补码与原码形式相同,例如+7的8位二进制补码是00000111;而负整数的补码则可以通过下列方式得到:将这个负整数的绝对值求反加1,连同符号位1一起表示就可以了.例如-7的8位二进制补码:将-7的绝对值7求反加1得1111001,连同符号位1一起就是11111001。
      你也可以练习一下+13和-13的8位二进制补码:+13d=00001101,-13d=11110011。
    2019-07-17 22:58:01
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载