欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

进制转;进制转换换,十进制数转八进制数,输出二进制表示(负数的二进制)

程序员文章站 2022-07-15 09:29:10
...

进制转换

问题描述

  编写函数将十进制整数按8进制输出,然后编写main函数验证该函数。例如输入12,则输出为:12=014,输入32,则输出32=040。

输入格式

  输入一个整数。

输出格式

  输出这个整数的八进制形式。

样例输入

12

样例输出

014

数据规模和约定

  输入的整数n>=0.

代码

package 进制;

import java.util.Scanner;

public class 进制转换2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc=new Scanner(System.in);
		int a=sc.nextInt();
		String s=Integer.toOctalString(a);//转换位8进制
		//System.out.println(s);
		int len=s.length();
		for(int i=len;i<len+1;i++){
			s='0'+s;
		}
		if(a==0)
		System.out.println("0");
		else
			System.out.println(s);
	}

}

输出二进制表示

问题描述

  输入[-128127]内的整数,输出其二进制表示。提示,可使用按位与&

输入格式

  例:7

输出格式

  例:00000111

样例输入

一个满足题目要求的输入范例。
 例:
 7

样例输出

与上面的样例输入对应的输出。
 例:
 00000111

数据规模和约定

  输入数据中每一个数的范围。
   例:0<n,m<100, 0<=矩阵中的每个数<=1000

代码

package 进制;

import java.util.Scanner;

public class 输入二进制表示 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc=new Scanner(System.in);
		int a=sc.nextInt();
		String s=Integer.toBinaryString(a);//转换位2进制
		//System.out.println(s);
		int len=s.length();
		for(int i=len;i<8;i++)
			s='0'+s;
		if(a<0)
			s=s.substring(24);
		System.out.println(s);
	}

}

十进制数转八进制数

编写函数,其功能为把一个十进制数转换为其对应的八进制数。程序读入一个十进制数,调用该函数实现数制转换后,输出对应的八进制数。
 样例输入 9274 样例输出 22072
样例输入 18 样例输出 22

代码1

package 进制;

import java.math.BigInteger;
import java.util.Scanner;

public class 十进制转八进制 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc=new Scanner(System.in);
		//String s=sc.next();
		//BigInteger a=new BigInteger(s);
		int a=sc.nextInt();
		System.out.printf("%o",a);
	}

}

代码2

package 进制;

import java.util.Scanner;

public class 十进制转换为八进制1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc=new Scanner(System.in);
		int a=sc.nextInt();
		System.out.println(Tento8(a));
	}
	public static String Tento8(int a){
		String s="";
		for(int i=a;i>0;i/=8){
			s=i%8+s;
		}
		return s;	
	}

}

进制转换

问题描述

  程序提示用户输入三个字符,每个字符取值范围是0-9,A-F。然后程序会把这三个字符转化为相应的十六进制整数,并分别以十六进制,十进制,八进制输出。
   输入格式:输入只有一行,即三个字符。
   输出格式:输出只有一行,包括三个整数,中间用空格隔开。
   输入输出样例

样例输入

FFF

样例输出

FFF 4095 7777

代码1

package 进制;

import java.util.Scanner;

public class 进制转换 {
	public static void main(String[] args){
		Scanner sc=new Scanner(System.in);
		String s=sc.next();
		System.out.print(f1(s)+" "+f2(s)+" "+f3(s));
	}
	//转换为16进制
	public static String f1(String s){
		String ss="";
		if(s.equals("000")){
			ss="0";
			return ss;
		}
		return s;
	}
	//转换位10进制
	public static String f2(String s){
		String ss="";
		int temp=Integer.parseInt(s,16);
		s=""+temp;
		return s;
	}
	//16进制转换位8进制
	public static String f3(String s){
		String ss="";
		if(s.equals("000")){
			ss="0";
			return ss;
		}
		//转化为了10进制
		int temp=Integer.parseInt(s,16);
		//System.out.println(temp);
		
		ss=TenTo8(temp);
		return ss;
	}
	public static String TenTo8(int num){
		String result="";
		for(int i=num;i>0;i/=8){
			result=i%8+result;
		}
		//System.out.println(result);
		return result;
	}
}

代码2

package 进制;

import java.math.BigInteger;
import java.util.Scanner;

public class 进制转换1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc=new Scanner(System.in);
		String s=sc.next();
		if(s.equals("000"))
			s="0";
		BigInteger h=new BigInteger(s,16);
		System.out.printf("%s %d %o",s,h,h);
	}

}

https://blog.csdn.net/u013190513/article/details/70216730