如何将有符号的long型转换成无符号的long型 例如一个负的长整型-1234567890, 如何能转换成正的长整型?(给C++模块用),移位? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 举个例子:-1984060040 , 我希望把它转成无符号整数,那么1984060040的二进制是01110110010000100101101010001000(最高位为符号位),根据负数转正数的方法是 求其补码,那么01110110010000100101101010001000的反码是10001001101111011010010101110111,补码是反码+1,即10001001101111011010010101111000,这个数的十进制就是2310907256,我就是想知道在JAVA里怎么能得到这个正数,~-1984060040取反不会带上符号位,请问怎么能将符号位也给带上? 你是要反转缺不改符号位么那就用 & | ^ 这3个都可以~ 如果你那数字是动态的那就很难了直接向右移1位 记得用>> 这也是个办法但是如果是动态数字 你就要想个算法出来了 经测试,long lSrc = -1984060040; System.out.println(Long.toString(lSrc, 2));//-1110110010000100101101010001000long lAbsoluteValue = Math.abs(lSrc);System.out.println(Long.toString(lAbsoluteValue, 2));//1110110010000100101101010001000long lDst = ~lAbsoluteValue;System.out.println(Long.toString(lDst , 2));//-1110110010000100101101010001001System.out.println(Long.toString(Math.abs(lDst) , 2));//1110110010000100101101010001001崩溃,咋能把1110110010000100101101010001000取反变成0001001101111011010010101110111啊?来个正则表达式也成,我直接用字符串拼起转成Long算了~~~ 设置JPanel为透明 list中的值remove或clear掉后遇到了问题 public、包的问题 java poi excel 可以画线吗?如何画线 tomcat在外网发布工程出问题 使用或覆盖一个不过励使用的API,,什么意思啊~~~~~~~ 关于在两个线程中各自连接数据库 有关抽象类! applet价值几何? applet vs flash? (送分发发88)一个java应用程序的表单布置的小问题,希望大家帮忙? 怎样在MyEclipse中将一个java的程序打包成一个可执行文件呢??? 什么是SOAP?
-1984060040 , 我希望把它转成无符号整数,
那么1984060040的二进制是01110110010000100101101010001000(最高位为符号位),
根据负数转正数的方法是 求其补码,
那么01110110010000100101101010001000的反码是10001001101111011010010101110111,
补码是反码+1,即10001001101111011010010101111000,
这个数的十进制就是2310907256,
我就是想知道在JAVA里怎么能得到这个正数,
~-1984060040取反不会带上符号位,请问怎么能将符号位也给带上?
那就用 & | ^ 这3个都可以~
直接向右移1位 记得用>> 这也是个办法
但是如果是动态数字 你就要想个算法出来了
long lSrc = -1984060040;
System.out.println(Long.toString(lSrc, 2));//-1110110010000100101101010001000long lAbsoluteValue = Math.abs(lSrc);
System.out.println(Long.toString(lAbsoluteValue, 2));//1110110010000100101101010001000long lDst = ~lAbsoluteValue;
System.out.println(Long.toString(lDst , 2));//-1110110010000100101101010001001
System.out.println(Long.toString(Math.abs(lDst) , 2));//1110110010000100101101010001001崩溃,咋能把1110110010000100101101010001000取反变成0001001101111011010010101110111啊?
来个正则表达式也成,我直接用字符串拼起转成Long算了~~~