Ⅰ java中怎么把二进制数转为有符号整数
publicstaticvoidmain(String[]args){
inti=-1;
StringbinNum=Integer.toBinaryString(i);
System.out.println(binNum);
intt=Integer.parseUnsignedInt(binNum,2);
System.out.println(t);
}
Ⅱ Java中如何判断输入中的整数是否为二进制
你可以将整数转换成字符串,然后判断单个字符是不是 0或1
Ⅲ java中怎么表示二进的整数int a=xxxx;
int x = 123;
String c = Integer.toBinaryString(x);
System.out.println(c);
int d = Integer.parseInt(c, 2);
System.out.println(d);
运行一下上面的代码
java用String表示二进制,使用toBinaryString将int转为二进制串
使用parseInt将二进制串转为int
Ⅳ java程序在控制台输入一个正整数,要求以二进制的形式输出
利用JavaAPI直接转换
十进制数如何转换为二进制数,这在javaAPI 中有一个方法,Integer.toBinaryString( ) 括号里面写上你要转换的十进制数,这样可以直接转换。例如:
publicstaticvoidmain(String[]args){
十进制转换为二进制
System.out.println(Integer.toBinaryString(10));
}
通过求余,求商,并计算值(例如:把二进制的1010 直接输成十进制的1010)实现
publicstaticvoidmain(String[]args){但是这种方法存在一个问题:因为int类型是有取值范围的,如果转换的二进制数字超出了范围(例如:10011100110110)这个数字明显超出了int的取值范围,这样我们用int类型的sum进行存储的时候他就会自动转换为一个其他的数字。并且这个方法没有办法求负数的二进制数。
//TODOAuto-generatedmethodstub
inta=123;//定义一个变量并赋给他一个十进制的值
intremainder;//定义一个变量用于存储余数
intsum=0;//定义一个变量用于存放和
intk=1;//定义一个变量控制位数
while(a!=0){
remainder=a%10;//对目标数字求余
a/=2;//对目标数字求商
sum=sum+remainder*k;//求和
k*=10;//改变位数
}
System.out.println("10进制的123转换为2进制结果为:"+sum);
}
在方法二的基础上使用字符串对结果集进行存储
publicstaticvoidmain(String[]args){用这种方法就能很好解决int类型的越界问题,能解决所有的十进制转换二进制的问题。
intn=-10;
Stringresult="";
booleanminus=false;
//如果该数字为负数,那么进行该负数+1之后的绝对值的二进制码的对应位取反,然后将它保存在result结果中
if(n<0){
minus=true;
n=Math.abs(n+1);
}
while(true){
intremainder=(!minus&&n%2==0)||(minus&&n%2==1)?0:1;
//将余数保存在结果中
result=remainder+result;
n/=2;
if(n==0){
break;
}
}
//判断是否为负数,如果是负数,那么前面所有位补1
if(minus){
n=result.length();
for(inti=1;i<=32-n;i++){
result=1+result;
}
}
System.out.println(result);
}
Ⅳ java的数字二进制输出
首先,java里int是有32位2进制数组成的
我们一般赋值
int
i
=
1;
这个是赋值10进制的数
赋值
2进制要
int
i
=
01;(前面加个0,就表示是2进制数)
赋值16进制(常用)
int
i
=
0x00000001;
(0x表示为16进制数)
3种的值都是1.
要用2进制输出就是Integer.toBinaryString(i)
拓展:
因为计算机处理位运算速度是非常快的(应该是最快的运算)
所以很多时候,如果有一堆boolean变量需要表示时,
一般只用1个int的数表示,如:
int
i
=
0x0000000f;//表示后4位为1
int
m
=
(i
>>
2)
&
1;
//
其中m就是表示某一位的值,2表示右边开始数第2位(当然是从第0位开始算的)
这样就能取具体每一位的值
这种方法在很吃代码效率的程序中经常遇到
全手打,望支持
Ⅵ java如何把二进制字符串转成整数
java将二进制装换成整数,可以使用Integer类的方法,来进行转换,如下:
Integer.parseInt("80000000",2);
Integer属于int基本类型的包装类,可以实现各个类型的互相转换,还可以输出成string类型,只需要使用toString()方法。
Ⅶ java中怎么将整数化成二进制数啊!!!急!!麻烦各位前辈能帮我讲解一下
最简单的就是直接用Integer.toBinaryString(int i),参数 i 就是你要转的十进制数
Ⅷ 跪求“java中二进制怎么表示”
java中二进制的表示:
1、Java中定义两个数,然后分别打印出它们的二进制表示(例如7和-7):
System.out.println("Java二进制7:"+Integer.toBinaryString(7));
System.out.println("Java二进制-7:"+Integer.toBinaryString(-7));
输出:
Java二进制7: 111
Java二进制-7:
7的二进制就是111
-7转化二进制的过程:
(1)把-7转化成7,二进制是 111
(2)Java中对于不满32位的int二进制自动补齐,所以变成了 (29个0)111
(3)然后取反 (29个1)000
(4)然后加1 (29个1)001
(8)java二进制整数扩展阅读:
c语言中二进制的转换:
用函数转换itoa(值,数组名,进制)
#include<stdio.h>
#include<stdlib.h>
voidmain()
{
char str[8];
inti=8;
itoa(i,str,2);
printf("%s",str);
}
Ⅸ 如何用JAVA编写一段代码把整数转换成2进制表示
十进制到其他进制的转换
十进制整数转换成二进制整数,返回结果是一个字符串:
Integer.toBinaryString(int
i);
Ⅹ 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不显示