Ⅰ java编程,请问怎么将十进制数转换成二进制输出,又怎么将二进制数转换成十进制输出
1、创建java类,TestNumConv.java;
Ⅱ java中将234以二进制的方式打印在控制台上
十进制转成十六进制:Integer.toHexString(inti)十进制转成八进制Integer.toOctalString(inti)十进制转成二进制Integer.toBinaryString(inti)十六进制转成十进制Integer.valueOf("FFFF",16).toString()八进制转成十进制Integer.valueOf("876",8).toString()二进制转十进制Integer.valueOf("0101",2).toString()有什么方法可以直接将2,8,16进制直接转换为10进制的吗?java.lang.Integer类parseInt(Strings,intradix)使用第二个参数指定的基数,将字符串参数解析为有符号的整数。examplesfromjdk:parseInt("0",10)returns0parseInt("473",10)returns473parseInt("-0",10)returns0parseInt("-FF",16)returns-255parseInt("1100110",2)returns102parseInt("2147483647",10)returns2147483647parseInt("-2147483648",10)returns-2147483648parseInt("2147483648",10)("99",("Kona",10)("Kona",27)returns411787进制转换如何写(二,八,十六)不用算法Integer.toBinaryStringInteger.toOctalStringInteger.toHexString例二publicclassTest{publicstaticvoidmain(Stringargs[]){inti=100;StringbinStr=Integer.toBinaryString(i);StringotcStr=Integer.toOctalString(i);StringhexStr=Integer.toHexString(i);System.out.println(binStr);}例二publicclassTestStringFormat{publicstaticvoidmain(String[]args){if(args.length==0){System.out.println("usage:javaTestStringFormat");System.exit(0);}Integerfactor=Integer.valueOf(args[0]);Strings;s=String.format("%d",factor);System.out.println(s);s=String.format("%x",factor);System.out.println(s);s=String.format("%o",factor);System.out.println(s);}}其他方法:Integer.toHexString(你的10进制数);例如Stringtemp=Integer.toHexString(75);输出temp就为4b//输入一个10进制数字并把它转换成16进制importjava.io.*;publicclasstoHex{publicstaticvoidmain(String[]args){intinput;//存放输入数据//创建输入字符串的实例BufferedReaderstrin=newBufferedReader(newInputStreamReader(System.in));System.out.println("请输入一个的整数:");Stringx=null;try{x=strin.readLine();}catch(IOExceptionex){ex.printStackTrace();}input=Integer.parseInt(x);System.out.println("你输入的数字是:"+input);//输出从键盘接收到的数字System.out.println("它的16进制是:"+Integer.toHexString(input));//用toHexString把10进制转换成16进制
Ⅲ java如何得到打印出一个byte的二进制形式,toBinaryString()打印出来的是32位,怎么打印出一个8位的
这个,你的数字占几位,Integer.toBinaryString打出来就是几位的啊,比如:
System.out.println(Integer.toBinaryString(10));
运行的结果就是:1010
只有4位的
Ⅳ java 将文件(如zip、txt等)转换成二进制数据并打印出来
可以通过BufferedReader 流的形式进行流缓存,之后通过read(字节流)方法获取到缓存的内容。
BufferedReader bre = null;
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
byte[] b = new byte[1024];
int len = 0;
while((len=bre .read(b))!=-1){//判断是不是到最后一个字节
System.out.println(new String(b,0,len));//输出二进制内容
}
bre.close();//关闭流
备注: 流用完之后必须close掉,如上面的就应该是:bre.close(),否则bre流会一直存在,直到程序运行结束。
Ⅳ java程序在控制台输入一个正整数,要求以二进制的形式输出怎么做
publicstaticvoidmain(String[]args){
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中打印2进制数
Integer类的
public static String toBinaryString(int i)
以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。
Ⅶ java如何打印long形二进制
publicclassDemo{
publicstaticvoidmain(String[]args)throwsException{
byte[]by="abc".getBytes();
for(byteb:by){
System.out.println(Long.toBinaryString(b));
}
}
}
Ⅷ 怎么用 java输出二进制的23
java进制转换
java中进行二进制,八进制,十六进制,十进制间进行相互转换
十进制转成十六进制:
Integer.toHexString(int i)
十进制转成八进制
Integer.toOctalString(int i)
十进制转成二进制
Integer.toBinaryString(int i)
十六进制转成十进制
Integer.valueOf("FFFF",16).toString()
八进制转成十进制
Integer.valueOf("876",8).toString()
二进制转十进制
Integer.valueOf("0101",2).toString()
Ⅸ 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位开始算的)
这样就能取具体每一位的值
这种方法在很吃代码效率的程序中经常遇到
全手打,望支持