导航:首页 > 编程语言 > java二进制负数

java二进制负数

发布时间:2022-07-21 04:02:41

‘壹’ java里用Integer.parseInt()把负数的二进制转化十进制会抛异常怎么办,有什么办法能转化

Integer.parseInt(String s, int radix) 这个方法本身就不能转负数,只能转正数。如果你想转换-1,那只能是 Integer.parseInt("-1",2),同理,转-123,只能 Integer.parseInt("-1111011",2),即在本身正数对应2进制之前加一个“-”号。

对于“已知一个负整数的二进制数,求这个数的十进制数”这类问题的话,那么方法如下:
对字符串操作,取反码,然后再按照上文所述方式转换,就可以得到所求负数+1,再-1,就可以得到所求负数

记得给分呦,亲~~~~

‘贰’ java中二进制怎么表示

二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。
1、Java中定义两个数,然后分别打印出它们的二进制表示:
System.out.println("Java二进制7: "+Integer.toBinaryString(7));
System.out.println("Java二进制-7: "+Integer.toBinaryString(-7));
输出:
Java二进制7:
111
Java二进制-7:

可以看到Java中对于数的表示属于有符号的,那么这个是怎么来的?
7好办,直接是111
-7转化二进制的过程:
(1)把-7转化成7,二进制是
111
(2)Java中对于不满32位的int二进制自动补齐,所以变成了
(29个0)111
(3)然后取反
(29个1)000
(4)然后加1
(29个1)001
这就是-7的整个转化过程,那么现在有一个问题,如果有一个文本文件,每一行有八位二进制,表示的范围是(0~255),也就是用一个字节表示的无符号整数,如果现在要把这些二进制转化成整数存到文件里应该怎么做?
文件:
line1

11111110

(254)
line2

00000000

(0)
假设用Java读进了第一行,那么直接打印出来的值是-2,不符合要求,这时让-2变254有两种办法:
(1)用Java自带的方法,Byte.toUnsignedInt((byte)
-2)(ps.-2的二进制表示就是line1),这样打印出来的就是254了
System.out.println(Byte.toUnsignedInt((byte) -2));
输出:254
第二种方法的原理:
Java中-2的二进制表示:(这个二进制的后八位就是line1,可以直接打印的话Java把其当做了负数
-2)
Java中255的二进制表示:(24个‘0’,8个‘1’)
做与后变为:
这样做与后表示的数就是正数了
254。可以想一下,假设每一行用2个字节表示一个无符号数,那么可以把每一行变成正整数用方法2怎么做?
2.Java中的>>和>>>
'>>'
算术右移,向右移左边补符号位
'>>>'
逻辑右移,向右移左边补0
System.out.println("Java二进制-7: "+Integer.toBinaryString(-7));
System.out.println("-7>>2: "+Integer.toBinaryString(-7>>2));
System.out.println("-7>>>2: "+Integer.toBinaryString(-7>>>2));输出:
Java二进制-7:
-7>>2:
-7>>>2: //正常应该这样(00)左边的两个0不显示

‘叁’ Java怎么用二进制表示负数

将负数转化成正数的方法:1、对已知是负数的数值转化方法:假设a为已知负数,则intb=-a;则b为所需正数;2、对不确定正负性的数值转化方法:假设有a,正负不确定,则可用:intb=Math.abs(a);取绝对值的方式来将数值转化成正数。

‘肆’ 二进制负数在java中该如何表示

0b开头标识二进制,如 -0b1101

‘伍’ java里负数的二进制表示·····

对,你做的很正确。11111011就是-5的补码。

‘陆’ java中二进制-11的源码和反码是多少

正数的反码是其本身
负数的反码是在其原码的基础上, 符号位不变,其余各个位取反
以8位为例
11 原码为 0000 1011
-11 原码为 1000 1011
-11 反码为 1111 0100

阅读全文

与java二进制负数相关的资料

热点内容
android红包实现 浏览:730
苹果的nvme为什么安卓不用 浏览:29
python输入单词统计个数 浏览:996
脚本软件提取源码 浏览:280
程序员能给自己的微信钱包刷钱么 浏览:67
怎么让小天才app查看宝贝的通讯录 浏览:620
dxgpdf 浏览:256
哪个命令 浏览:43
文件不能打包压缩 浏览:699
linux源码调试 浏览:948
全球所有c语言编译器 浏览:658
如何学好app安全 浏览:261
怎么给已经发表的文章加密 浏览:1000
php加密验签 浏览:168
如何新建app 浏览:17
python人脸识别某人 浏览:610
能免费解压软件的浏览器 浏览:840
耳机适配器加密狗 浏览:619
苹果为什么和安卓为什么换不了号 浏览:297
解压图片怎样快速导入 浏览:746