当前位置:首页>开发>正文

Java中如何实现十进制到其他进制的转换 java 进制转换器代码属性 类 方法是

2024-01-09 01:10:45 互联网 未知 开发

 Java中如何实现十进制到其他进制的转换 java 进制转换器代码属性 类 方法是

Java中如何实现十进制到其他进制的转换

Java转换十进制为其他进制的两种方法
利用printf():view plaincopy to clipboardprint?
public class TigerNumberDemo {

public static void main(String[] args) {

// 输出 19 的十进制表示
System.out.printf("%d%n", 19)

// 输出 19 的八进制表示
System.out.printf("%o%n", 19)

// 输出 19 的十六进制表示
System.out.printf("%x%n", 19)
}

}
public class TigerNumberDemo { public static void main(String[] args) { // 输出 19 的十进制表示
System.out.printf("%d%n", 19) // 输出 19 的八进制表示
System.out.printf("%o%n", 19) // 输出 19 的十六进制表示
System.out.printf("%x%n", 19)
}}
利用Integer类方法:view plaincopy to clipboardprint?
public class NumberDemo {

public static void main(String[] args) {

// 十进制 19 转成二进制 10011
System.out.println(Integer.toBinaryString(19))

// 十进制 19 转成十六进制 13
System.out.println(Integer.toHexString(19))

// 十进制 19 转成八进制 23
System.out.println(Integer.toOctalString(19))

}

}

java 进制转换器代码属性 类 方法是

package 进制转换import javax.swing.JTextFieldpublic class opertion else if(!typeto.equals("str"))else if(!typefrom.equals("str")) return txtfrom } /** * 转10进制 * @param from 从进制 * @param txt 要转换的数 * @return 转换后结果 */ private int to10(String from1, String txt) sum = temp } } else for (int j = 0 j < leng - i j ) sum = temp } i-- } return sum } /** * 从10进制转为其他进制 * @param to 要转换后的进制 * @param num 要转的10进制数 * @return 转换后的值(String) */ private String from10(String to1, int num) num=num/to } return jg } /** * 从字符串转为其他进制 * @param txtfrom 要转的字符串 * @param typeto 要转成的其他进制 * @return 转成后的结果 */ public String String_from_int(String txtfrom, String typeto)else } return num } public String int_from_String(String txtfrom, String typefrom) return num }}

在java中如何用for循环把一个十进制数转换成二进制

进制转换的思想
抓住关键点,不管多少进制,一个数的值是不变。

先搞清楚进制衡量了什么:n进制实际上代表一个数位与相邻数位之间的权重比,简单点说,相邻两位,一个高位的值代表n个低位。
一个n进制的数,转换为一个m进制的数,基本过程就是反复的——对n进制表示的m取余,除以n进制表示的m。为什么不直接写除以m呢?举个例子,假设十进制数99转换为2进制,那么过程就是反复——取余,除以2;看起来是除以m了;那反过来,如果把二进制数1100011(十进制数99)转换为十进制呢?这是时候应该对1010(十进制数10)取余,除以1010。
按问题要求代码如下:
public static void main(String[] args) {
       int a = NUM // NUM代表十进制数
       String binary = "" // binary代表最后二进制字符串
       for( a != 0 a /= 2) {
               binary = a % 2 binary
       }
}
实际上Java中已经提供了这种工具类,Integer.toBinaryString(int a)就可以实现该转换。

用java使用一个栈将十进制转换成二进制

晕了...。公有类名为Test,文件名是zhan.java,谁教你的?
public class ToBinary{
public static void main(String[] args){
Stack stack=new Stack()
int x=3456
while(x>0){
stack.push(x%2)
x/=2
}
while(!stack.isEmpty()){
System.out.print(stack.pop())
}
}
}
class Stack{
private int[] data
private int pointer
public Stack(){
data=new int[100]
pointer=0
}
public void push(int v){
data[pointer ]=v
}
public int pop(){
return data[--pointer]
}
public boolean isEmpty(){
return pointer==0
}
}

怎么用java实现? 进制转换

例如:把16进制的数转换为10进制的
可以通过Integer.parseInt(String s, int radix)方法实现,radix是进制,可以是2(二进制),10(十进制),16(十六进制)等。
举例:
System.out.print(Integer.parseInt("F", 16)));
结果就是:15

最新文章