美文网首页
二进制:整理

二进制:整理

作者: qingshuiting | 来源:发表于2019-01-25 17:28 被阅读0次

二进制:整理

最初的一个问题是来源于 signed byte的范围为什么是[-128,127],为什么不是[-127,127]。

下面的内我直接使用+1-1进行举例

机器数与真值

一个数在计算机中的表示都是直接使用二进制,这种二进制表示方式就是机器数。因为有正负之分,所有在机器数中采用最高位来表示正(0)或者负(1)。

所以对应的+1-1的机器数为:

+1   0000 0001
-1   1000 0001

机器数0000 00011000 0001对应的真值分别为 +1-1

原码

符号+真值对应的绝对值。

+1 的源码为 0000 0001

-1 的源码为 1000 0001

那么如果使用原码表示的话,signed byte的范围是[0111 11111111 1111]。

反码

反码:正数的反码是原码本身;负数的反码是符号位不变,其他位取反

补码

补码:正数的补码是原码本身;负数的补码是反码+1

原因

  • 计算机中没有那么多的计算方式,加+是最基础的计算方法,那么对于减肥就是使用加上一个负数。
  • 1-1=0=1+(-1)

如果使用原码表示 1-1 = 0 结果是错误的。

如果使用反码表示 1-1 = 0,最后的结果是0000 0000 1000 000都表示0,因为是+0-0,所以才导致了理论的表达范围为[-127,127]

如果使用补码表示 1-1 = 0,最后的结果是0000 0000 表示0,所以可以直接使用1000 0000表示-128

相关文章

  • 二进制:整理

    二进制:整理 最初的一个问题是来源于 signed byte的范围为什么是[-128,127],为什么不是[-12...

  • 二进制基础运算整理

    原码、反码和补码在正常的运算规则下,我们熟悉的十进制会转化成二进制在计算机中表示,这时的二进制就是原码表示,在计算...

  • LeetCode 专题:位运算

    知识点整理 二进制原码、反码、补码最好的解释 https://www.zhihu.com/question/201...

  • 数据类型与运算符

    进制转换 在我的Java基础知识整理,补充内容,里面有十进制和二进制之间的转换,我这里就不再写十进制和二进制之间的...

  • 2进制、8进制、10进制、16进制转换

    最近面试遇到进制转换的问题,整理了一下知识点。 1. 二进制 转 十进制 二进制转十进制就是 从右 向 左 依次乘...

  • 2018-12-16

    今天遇到别人问二进制、十进制、十六进制的问题,整理了一下思路 十进制与二进制的转换 所有不超过256的十进制数都可...

  • 二进制,八进制,十进制,十六进制转换

    十进制转二进制十进制转二进制 二进制转十进制十进制转二进制 二进制转八进制二进制转八进制 八进制转成二进制八进制转...

  • Java:利用BigDecimal类巧妙处理Double类型精度

    本篇要点 简单描述浮点数十进制转二进制精度丢失的原因。 介绍几种创建BigDecimal方式的区别。 整理了高精度...

  • java基础|java中的二进制运算以使用场景

    本文知识点java中用二进制使用场景java中声明二进制数据java中拼接二进制数据二进制的使用场景做标识用二进制...

  • 二进制、十进制、十六进制转换算法

    1、正整数转二进制 2、负整数转二进制 3、小数转二进制

网友评论

      本文标题:二进制:整理

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