使用JAVA完成十进制到二进制八进制十六进制的转换

/*

十六进制的转换

要求:

1.从键盘输入数据(有输入提示)

2.用自定义方法

增加:

对输入的数,进行8进制和2进制的转换。

*/

import java.util.Scanner;

public class ArrayTest{

public static void main(String[] args){

System.out.print("请输入要转换为16进制的数字:");

Scanner scan=new Scanner(System.in);

int num = scan.nextInt();

System.out.print("转换后的16进制数为:");

getHex(num);

System.out.println();

System.out.print(" 转换后的2进制数为:");

getBinary(num);

System.out.println();

System.out.print(" 转换后的8进制数为:");

getOctal(num);

}

//getHex方法。  完成16进制的转换功能。

//start getHex;

public static void getHex(int num){

char[] chs={‘0‘,‘1‘,‘2‘,‘3‘,‘4‘,‘5‘,‘6‘,‘7‘,‘8‘,‘9‘,

‘A‘,‘B‘,‘C‘,‘D‘,‘E‘,‘F‘};

char[] arr = new char[8];

int p = arr.length; //int类型在内存中是4字节,32个2进制位,对应的十六进制位是8. 每4位对应一位16进制数。

if(num == 0 ){

System.out.print("0");

return ; //此处的return ;当接收的数据为0的时候,结束此方法。

}

while(num != 0 ){

int x = num & 15;

arr[--p] = chs[x]; //在存数的过程中,从最高位开始存。 也就是最先运算出来的数字,存到数组的最后一位。

num = num >>> 4; //将num向右移4个2进制位。  >>>代码无符号右移。>>代表有符号有移。

}

for(int i=p;i<arr.length;i++){   //输出过程是从有效位开始输出。带有0不输出

System.out.print(arr[i]);

}

}

//end getHex

//start getOctal

public static void getOctal(int num){

char[] chs={‘0‘,‘1‘,‘2‘,‘3‘,‘4‘,‘5‘,‘6‘,‘7‘};

char[] arr=new char[11];

int p=arr.length;

if(num == 0){

System.out.print("0");

return ;

}

while(num != 0){

int n=num & 7;

arr[--p] = chs[n];

num = num >>> 3;

}

for(int i=p;i<arr.length;i++){

System.out.print(arr[i]);

}

}

//end getOctal

//start getBinary

public static void getBinary(int num){

char[] chs={‘0‘,‘1‘};

char[] arr=new char[32];

int p=arr.length;

if(num == 0){

System.out.print("0");

return ;

}

while(num !=0){

int n=num & 1;

arr[--p]=chs[n];

num = num >>>1;

}

for(int i=p;i<arr.length;i++){

System.out.print(arr[i]);

}

}

//end getBinary

}

时间: 2024-10-21 02:30:36

使用JAVA完成十进制到二进制八进制十六进制的转换的相关文章

二进制 八进制 十六进制

二进制 二进制是计算技术中广泛采用的一种数制.二进制数据是用0和1两个数码来表示的数.它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现.当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的.计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0. 20世纪被称作第三次科技革命的重要标志之一的计算机的发明与应用,因为数字计算机只能识别和处理由‘0’.‘1’符号串组成的代码.其运算模式正是二进制.19世

java中将十进制转换为二进制

public static void main(String[] args) { toBin(6); } /* 十进制转换为二进制 */ public static void toBin(int num) { while(num>0) { System.out.println(num%2); num=num/2; } } java中将十进制转换为二进制

(初学)如何手动实现整型数值60的二进制到十六进制的转换

如何手动实现整型数值60的二进制到十六进制的转换 //调用Java自带Integer类实现//练习:60 输出为十六进制(位运算符)        //自动调用Integer类现成的方法        int i1 = 60; String binary = Integer.toBinaryString(i1);        System.out.println(binary); String hex = Integer.toHexString(i1);        System.out.p

[原创]PostgreSQL中十进制、二进制、十六进制之间的相互转换

在PostgreSQL中,二进制.十进制.十六进制之间的转换是非常方便的,如下: 十进制转十六进制和二进制 mydb=# SELECT to_hex(10); to_hex -------- a (1 row) mydb=# SELECT 10::bit(4); bit ------ 1010 (1 row) 十六进制转十进制和二进制 mydb=# SELECT x'A'::int; int4 ------ 10 (1 row) mydb=# SELECT x'A'::bit(4); bit -

十进制与二进制之间的自由转换

#include <stdio.h>#include<stdlib.h>int main(){    int Type,a,b[10],i=0,c=0;    printf("请输入转换类型 1:十进制转二进制:2:二进制转十进制;\n");    scanf("%d",&Type);    printf("请输入原数据\n");    scanf("%d",&a);    switch

python的进制转换二进制,八进制,十六进制及其原理

#!usr/bin/env python# coding:utf-8 def binary(): '''二进制的方法与算法'''    Number = 10    Number1 = 20    Number2 = 30    print bin(Number),type(bin(Number1)),bin(Number2) #用十进制算法来表示二进制   # 除余法:10%2=0放入字符串个位'0',5%2=1放入字符串的十位'10',2%2=0放入百位'010',最后余数放入千位'1010

将十进制转换为二进制和十六进制

#include<stdio.h>int main(){int a,i,j,m;int arr[16]={0};printf("输入一个整数:\n");scanf("%d",&a);printf("十六进制=%x\n",a);printf("八进制=%o\n",a);printf("二进制数为:\n");for(i=0;i<15;i++){m=a%2;j=a/2;a=j;arr[i

十进制转二进制和十六进制

class TestL  { public static void main(String[] args)  { int i=60; String binary = Integer.toBinaryString(i); System.out.println(binary); String hex=Integer.toHexString(i); System.out.println(hex); int j=i&15; String k1=(i<=9)?j+"":(char)

C++ 十进制转二进制 ASCII码大小写转换

参考博客:<C++>十进制数转换成二进制显示 由于我要实现的功能局限于char类型,所以我根据参考写了一个. 1 #include <iostream> 2 using namespace std; 3 void binary(char num); 4 int main() 5 { 6 binary('a'); 7 return 0; 8 } 9 void binary(char num) 10 { 11 char bitMask = 1 << 7; 12 for (i