`

JAVA 负数的二进制表示

阅读更多

计算机对有符号数(包括浮点数)的表示有三种方法:原码、反码和补码, 补码=反码+1。在 二进制里,是用 0 1 来表示正负的,最高位为符号位,最高位为 1 代表负数,最高位为 0 代表正数。

    以java中8位的byte为例,最大值为:0111 1111,最小值为1000 0001。

    那么根据十进制的数字,我们如何转换为二进制呢?对于正数我们直接转换即可,对于负数则有一个过程。

    以负数-5为例:

    1.先将-5的绝对值转换成二进制,即为0000 0101;

    2.然后求该二进制的反码,即为 1111 1010;

    3.最后将反码加1,即为:1111 1011

所以Java中Integer.toBinaryString(-5)结果为11111111111111111111111111111011. Integer是32位(bit)的.

      
  

 

分享到:
评论

相关推荐

    负数的二进制算法.doc

    * 正数的二进制表示形式的第一位数字为 0,而负数的二进制表示形式的第一位数字为 1。 * 将十进制数转换成其他进制可以使用 Java 语言中的 Integer.toBinaryString()、Integer.toHexString()、Integer.toOctalString...

    JAVA实现十进制整数(正负)转换为二进制输出

    任意输入一个十进制整数,包括正数负数,通过程序实现可以输出相应的二进制编码

    java 进制转换,二进制 十进制 十六进制 正数 负数的进制等等!.docx

    对于小数的进制转换,通常会涉及到浮点数的二进制表示,如IEEE 754标准。Java并没有直接提供将十进制小数转换为其他进制的内置方法,但可以通过一些数学运算和位操作实现。例如,将十进制小数转换为二进制通常需要...

    java十进制转换二进制

    本文通过一个具体的Java程序实例,详细介绍了如何将十进制数(包括正数和负数)转换为二进制表示的方法。通过对程序逻辑的逐步分析,我们不仅学习了基本的转换过程,还深入了解了负数在计算机中的补码表示方式。这种...

    java基础,进制转换.pdf

    原码指的是一个数的二进制表示;反码是将原码中所有位取反(0变1,1变0);补码是反码加1。正数的原码、反码、补码都相同,而负数则不同。 5. 二进制数的计算原理 - 计算中的加法原理:计算机内部的数值运算基于二...

    JAVA实用进制转换.pdf

    - `Integer.valueOf("0101", 2).toString()`将二进制的"0101"转换为十进制表示后转换为字符串。 此外,`Integer.parseInt(String s, int radix)`用于将字符串按照指定的进制基数转换为十进制整数。 举例: - `...

    Java中的进制与移位运算符

    在Java编程语言中,进制表示法和移位运算符是两种重要的概念,它们在处理二进制数据和高效计算中发挥着关键作用。本文将深入探讨这两种概念,并结合实例来帮助理解。 首先,让我们来看Java中的进制表示法。在计算机...

    06-进制转换(负数二进制).avi

    价值上万的Java精品网课教程\第02天(进制,位运算,语句)

    输入一个十进制整数,然后显示对应的二进制值.java

    利用Java编写程序,提示用户输入一个十进制整数,然后显示对应的二进制值。在这个程序中不要使用Integer.toBinaryString(int)

    BinaryStringCalculator:两个二进制字符串相加的算法

    否则,直接返回结果的二进制表示。 在实际应用中,这种方法简单易懂,但并不考虑溢出情况。对于非常大的二进制字符串,可能需要使用更复杂的数据结构或算法来处理,例如使用`BigInteger`类来支持任意大小的整数。 ...

    java 二进制数据与16进制字符串相互转化方法

    Java 中,二进制数据和 16 进制字符串是两种常见的数据表示形式,在实际编程过程中,我们经常需要将这两种格式相互转换。本文将详细介绍 Java 中二进制数据与 16 进制字符串相互转换的方法。 二进制数据 在 Java ...

    二进制一些笔记,可以看看,新手上路勿喷

    - 下面的代码展示了如何输出0到50之间所有整数的二进制表示。 ```java for (int i = 0; i ; i++) { String bin = Integer.toBinaryString(i); bin = StringUtils.leftPad(bin, 32, '0'); // 补齐到32位 System....

    java代码-输出二进制结果

    本文将详细讲解如何使用Java代码来输出一个数字或变量的二进制表示。 首先,我们需要理解二进制系统。二进制是计算机科学的基础,它使用0和1来表示数据。每个二进制位(bit)代表2的幂次方,从右向左,最右边的位是...

    解决Java中的强制类型转换和二进制表示问题

    在Java编程语言中,强制类型转换和二进制表示是两个重要的概念,它们与程序的运行效率和数据处理紧密相关。下面将详细讲解这两个主题。 首先,我们来谈谈Java中的强制类型转换。Java是一种静态类型语言,这意味着在...

    二进制和反射

    在 Java 中可以直接用十六进制表示整数,只需在前面加上 `0x`: ```java int i = 0x32; // 等同于十进制的 50 System.out.println(i); // 输出 50 ``` 另一个例子: ```java int i = 0xAC; // 等同于二进制的 ...

    10进制转化为16进制.zip

    `%02x`是`format()`方法的一个格式化字符串,其中`02`表示至少保留两位,`x`代表使用十六进制表示。如果转换后的十六进制数不足两位,它会在前面自动添加0。 在实际编程中,我们可能需要处理各种输入情况,包括负数...

    二进制的基础上的位运算

    // 二进制表示为:00000000000000000000000000000100 int b = 10; // 二进制表示为:00000000000000000000000000001010 int c = a & b; // 结果为:00000000000000000000000000000000 (十进制为0) ``` #### 三、按...

    进制计算器

    例如,将十进制数10转换为二进制,我们可以不断除以2并记录余数,直到商为0为止,得到的余数逆序排列就是二进制表示。 2. **位值法**:将原数值拆分为每个位的值,然后转换每个位。例如,十进制数256(10000000)在...

Global site tag (gtag.js) - Google Analytics