toBinaryString()函数

public class Customer {
public static void main(String[] args) {
int m=-8;
System.out.println(Integer.toBinaryString(m)); }
} 结果:11111111111111111111111111111000 由此可知,toBinaryString()是直接输出补码

Math.abs(-2147483648)=-2147483648

   首先要明白,计算机取反操作是 补码取反+1(包含符号位),不含符号位的是回复原码 

以-8为例

        1    2    3     4    5    6    7    8        

-8: 补 1111 1111 1111 1111 1111 1111 1111  1000    

    反 1111 1111 1111 1111 1111 1111 1111  0111(取反,不含符号位)

    原 1000 0000 0000 0000 0000 0000 0000  1000(加一)

补反+1 0000 0000 0000 0000 0000 0000 0000  1000(取反+1,包括符号位)

8:  补 0000 0000 0000 0000 0000 0000 0000  1000   

-2147483648的补码如下

	补:1000 0000 0000 0000 0000 0000 0000 0000

      补反:0111 1111 1111 1111 1111 1111 1111 1111

       +1: 1000 0000 0000 0000 0000 0000 0000 0000

由此可知:
-2147483648在进行取反操作时,得到的还是-2147483648, 所以出现Math.abs(-2147483648)=-2147483648就见怪不怪了

Java toBinaryString()函数探究及Math.abs(-2147483648)=-2147483648原理探究的更多相关文章

  1. Math.abs为Integer.Min_VALUE返回错误的值

      Math.abs为Integer.Min_VALUE返回错误的值 这段代码: System.out.println(Math.abs(Integer.MIN_VALUE)); 回报-2147483 ...

  2. java中Math.abs(-2147483648)的返回值应该是什么?

    我觉得这是一个非常有意思的问题,Math.abs(-2147483648)的返回值应该是什么? java计算结果 为什么没有得到正数结果呢? 首先我们先看下java区分整数正负的原理.在二进制的情况下 ...

  3. Java数学函数Math类

    Java数学函数Math类常用: Math.abs(12.3); //12.3 返回这个数的绝对值 Math.abs(-12.3); //12.3 Math.copySign(1.23, -12.3) ...

  4. java数学函数Math类中常用的方法

    Math类提供了常用的一些数学函数,如:三角函数.对数.指数等.一个数学公式如果想用代码表示,则可以将其拆分然后套用Math类下的方法即可. Math.abs(12.3);               ...

  5. Java中的Math.abs()

    Math.abs(n):对int.long.float.double类型的数取绝对值 其中 int 类型的数取值范围是 -2^31——2^31-1(-2147483648 ~ 2147483647) ...

  6. java中常用到的math方法(Math.PI、Math.random()、Math.abs(double)、Math.floor(double)、Math.ceil(double)、Math.round(double))

    public class MathDemo { public static void main(String args[]){ /** * abs求绝对值 */ System.out.println( ...

  7. java数学函数库 API(转)

    原文地址:http://www.24xuexi.com/w/2011-11-08/98206.html 首先给大家看看Math类所提供的主要方法,下面的列表给出了Math类的主要方法,如果要理解Mat ...

  8. Java常用类之【Math类、Random类、System类、Runtime类】

    一.Math类 Math类 [绝对值]Math.abs();//返回对应类型的绝对值 [最大值和最小值]Math.max(int a, int b) ,Math.min(int a,int b);(其 ...

  9. Java学习笔记26(Math类、Arrays类、BigInteger类、BigDecimal类)

    Math类:数学工具类,做一些数学计算,开方,对数,三角函数等 所有方法都是静态方法,不需要建立对象,直接用类名调用即可 示例: 这里写几个在日常开发中会用到的,比如三角函数之类的平时不会用到,了解即 ...

随机推荐

  1. Windows平台ping测试局域网所有在用IP

    由于工作需要,我在家里搭建了很多VM,同时智能家居设备也占用了很多IP.平日偶尔会有确认局域网内哪些IP目前在用的需求. 这个需求很简单,直接从网上也可以搜索到很多答案,最终找到一个经实际测试可用的方 ...

  2. fiddler学习总结--Web端抓包

    步骤一: Fiddler的基本配置:Tools-->option-->Connections: 就可以进行抓包了 步骤二: 可以通过一些设置过滤: 步骤三: 抓取HTTPS的请求:1.安装 ...

  3. day04 一个简单的代码优化案例

    import random punches = ['石头','剪刀','布'] computer_choice = random.choice(punches) user_choice = input ...

  4. 和 (DFS)

    和 Time Limit: 1000MS Memory Limit: 65536KB Total Submissions: 177 Accepted: 93 Share Description:   ...

  5. 腾讯云主机如何使用root账号登录,不能使用root登录怎么办

    1.先用ubuntu账号登录,执行sudo passwd root 2.按要求输入密码,请牢记. 3.执行sudo vi /etc/ssh/sshd_config 4.找到PermitRootLogi ...

  6. 剑指offer(14)链表中倒数第K个节点

    题目描述 输入一个链表,输出该链表中倒数第k个节点. 题目分析 用两个指针来跑,两个指针中间相距k-1个节点,第一个指针先跑,跑到了第k个节点时,第二个指针则是第一个节点. 这时候两个一起跑.当第一个 ...

  7. 使用Java或 JavaScript获取 方括号中的内容

    1.使用Java获取方括号中的内容 String str = "[你]们,[我]们,[他]们,都要[好好学习,天天敲代码]"; Pattern p = Pattern.compil ...

  8. JavaScript自定义求和函数

    我爱撸码,撸码使我感到快乐!大家好,我是Counter,当看到这个标题到时候是不是感觉很简单,千万不要大意哦,你说0.1 + 0.2 = 0.3 ?有时候计算机并不是我们所说绝对精确,这个时候就要我们 ...

  9. 第十届蓝桥杯2019年C/C++ 大学A组省赛试题

    2019年蓝桥杯第十届软件类省赛 C/C++ 大 学 A 组 试题 A: 平方和 本题总分:5 分 [问题描述] 小明对数位中含有 2.0.1.9 的数字很感兴趣,在 1 到 40 中这样的数包括 1 ...

  10. python链接Hive

    之前一直用thrift链接Hive,但在运行时总出现问题,一直报缺少模块的错误,装了这个模块,又报缺少那个模块,连了半天,全是泪啊! 原来thrift链接Hive的.py文件后续没人维护,是连不上的. ...