1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > JAVA实现十进制数转二进制数 八进制数 十六进制数

JAVA实现十进制数转二进制数 八进制数 十六进制数

时间:2023-02-20 06:33:22

相关推荐

JAVA实现十进制数转二进制数 八进制数 十六进制数

二进制:

将每个余数倒着输出来,怎样实现,s=num%2+s;每次得到的数都进入到等号右边的s中,那么第二个余数就是num%2,加在s的前面,这就是字符串的拼接,切记不能交换两者的位置。

八进制:

同二进制一样

十六进制:

十六进制不外乎就是写一个数组:

char[] arr = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };

假如给一个17这样的十进制数,将其转换成十六进制,只需要数17,最后第十七次落在数组上的字符加上数的次数。笔者定义的y就是最后落在数组上的位置。

package com.kaifamiao.day13CDSN;import java.util.Scanner;public class JinZhi {public static void main(String[] args) {Scanner sc=new Scanner(System.in);System.out.println("请你输入一个十进制数:");long n = sc.nextLong();JinZhi jz=new JinZhi();System.out.println("二进制数为:"+jz.twoWay(n));System.out.println("---------------------------------");jz.eightWay(n);System.out.println("八进制数为:"+jz.eightWay(n));System.out.println("---------------------------------");System.out.println("十六进制为:"+jz.sixteen(n));}//二进制public String twoWay(long num){String s="";while (num!=0){s=num%2+s;num=num/2;}return s;}//八进制public String eightWay(long num){String s="";while (num!=0){s=num%8+s;num=num/8;}return s;}//十六进制public String sixteen(long num){String v="";char s=0;long y;char[] arr = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };while (num!=0){y=num%16;num=num/16;s=arr[(int)y];v=s+v;}return v;}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。