❶ java 二进制转换16进制
import java.util.Scanner;
public class Binary2Hex {
private static String hexStr = "0123456789ABCDEF";
/**
*
* @param bytes
* @return 将二进制转换为十六进制字符输出
*/
public static String BinaryToHexString(byte[] bytes){
String result = "";
String hex = "";
for(int i=0;i<bytes.length;i++){
//字节高4位
hex = String.valueOf(hexStr.charAt((bytes[i]&0xF0)>>4));
//字节低4位
hex += String.valueOf(hexStr.charAt(bytes[i]&0x0F));
result +=hex;
}
return result;
}
public static void main(String[] args) {
Scanner sca = new Scanner(System.in);
boolean flag = true;
while (flag) {
System.out.print("请输入一个二进制字符串:");
String str = sca.next();
System.out.println();
System.out.println("您输入的是字符串的十六进制为:"+BinaryToHexString(str.getBytes()));
System.out.print("是否继续转化(如果不继续请输入“exit”,继续的话输入任意字符):");
String _str = sca.next();
if (_str.equalsIgnoreCase("exit")) {
flag = false;
}
}
}
}
❷ java怎样将已知的10进制数转换为16进制
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请出入一个十进制数");
int x = sc.nextInt();
System.out.println(x+"的十六进制结果是:"+Integer.toHexString(x));
}
}
❸ java的十进制怎么转为十六进制
查jdk文档,可以发现在long类里面有这些方法
static String toBinaryString(long i)
以二进制无符号整数形式返回 long 参数的字符串表示形式。
static String toHexString(long i)
以十六进制无符号整数形式返回 long 参数的字符串表示形式。
static String toOctalString(long i)
以八进制无符号整数形式返回 long 参数的字符串表示形式。
如果你自己要写一个程序 实现这个功能,
就是将数字除16取余。。。
❹ java中怎么将10进制转化成十六进制
1,可以手动计算先将10进制的数转为二进制,二进制再转为16进制
2,我们可以直接使用java api提供的方法直接转换
int num = 14;
String hexNum = Integer.toHexString(num);
hexNum即为16进制的数
3,如图
❺ java中如何将byte[]里面的数据转换成十六进制
/* *
* Convert byte[] to hex string.这里我们可以将byte转换成int,然后利用Integer.toHexString(int)
*来转换成16进制字符串。
* @param src byte[] data
* @return hex string
*/
public static String bytesToHexString(byte[] src){
StringBuilder stringBuilder = new StringBuilder("");
if (src == null || src.length <= 0) {
return null;
}
for (int i = 0; i < src.length; i++) {
int v = src[i] & 0xFF;
String hv = Integer.toHexString(v);
if (hv.length() < 2) {
stringBuilder.append(0);
}
stringBuilder.append(hv);
}
return stringBuilder.toString();
}
此方法能将byte[]转化成16进制字符串,希望能帮到你。
❻ java中如何将byte[]里面的数据转换成十六进制
方法如下:
/* *
* Convert byte[] to hex string.这里我们可以将byte转换成int,然后利用Integer.toHexString(int)
*来转换成16进制字符串。
* @param src byte[] data
* @return hex string
*/
public static String bytesToHexString(byte[] src){
StringBuilder stringBuilder = new StringBuilder("");
if (src == null || src.length <= 0) {
return null;
}
for (int i = 0; i < src.length; i++) {
int v = src[i] & 0xFF;
String hv = Integer.toHexString(v);
if (hv.length() < 2) {
stringBuilder.append(0);
}
stringBuilder.append(hv);
}
return stringBuilder.toString();
}
此方法能将byte[]转化成16进制字符串,
❼ java 将十进制转换成十六进制字符串
importjava.util.Scanner;
publicclassTentoSixteen{
privatestaticStringBuildersum=newStringBuilder();
privatestaticintrulst;//定义一个结果,记录数与15的与运算结果,求得原数二进制最后四位的值
privatestaticintcount;//若数的二进制不止四位,定义一个数来记录除去后四位的新数,运用递归作用与rulst相同
privatestaticvoidTtoSMethod1(inti){//JDK自带的转化方法
Stringexchanged=Integer.toHexString(i);
System.out.println(exchanged);
}
privatestaticvoidSop(){//将得到的字符串反转
System.out.println(sum.reverse().toString());
}
privatestaticvoidsubim(intrulst){//判断是否超出10,根据十六进制的规则超出10部分由字母ABCDEF代替
if(rulst<10){
sum.append(rulst);
}else{
sum.append((char)('A'+(rulst-10)));//将int强制转换为char
}
}
privatestaticvoidTtoSMethod2(inti){
rulst=i&15;
if(i<(1<<4)&&i>=0){//判断数有多少位,大于0小于16,则转换后打直接印
subim(rulst);
}else{//不止四位的数则用递归来多次运算
count=i>>4;//除去最后四位
subim(rulst);
TtoSMethod2(count);//递归直到count为0止
}
}
publicstaticvoidmain(String[]args){
@SuppressWarnings("resource")
Scannerscan=newScanner(System.in);
System.out.println("请出入一个十进制数:");
intnum=scan.nextInt();
TtoSMethod1(num);//自带方法
TtoSMethod2(num);//自定义方法,可将任意的十进制转化为十六进制
Sop();//输出
}
}
❽ 可以把java中十进制数用代码直接转为16进制吗
//当然可以:我分两步讲解,两种方法,一个比较简单,利用系统API,一个讲原理稍微复杂一点!
importjava.util.Scanner;
publicclassTohex
{
//录入数字用!
privatestaticScannersc=newScanner(System.in);
//容器,存放转好的数字,也可以不用,也可以用数组!
privatestaticStringBuffersb;
publicstaticvoidmain(String[]args)
{
/*
Integer,这个类功能很强大,是Java提供的,想用可以查询一下;
特点就是简单拿来就用,新手不建议使用,搞懂进制转换原理以后在去使用API事半功倍!
*/
System.out.println(" ==========装16进制!========== 系统API(Integer)演示: ");
init();
}
//方法1,用系统API
privatestaticvoidinit()
{
//十进制!
inta=125454;
//转换过程16进制!
Stringhex=Integer.toHexString(a);
System.out.println(a+"十六进制="+hex+" ------------------------------------ 自定义测试: ");
input();
}
//方法2:自己动手转换,了解转换原理!
privatestaticvoidinput()
{
while(true)
{
System.out.println("输入被转数字: ");
inta=sc.nextInt();
System.out.println("输入想转的进制:暂时支持2,8,16进制");
intb=sc.nextInt();
ToHex(a,b);
}
}
//转换过程!
privatestaticvoidToHex(intx,inty)//a是要转数字,b是进制!
{
sb=newStringBuffer();
inta=x,b=0,c=0;
switch(y)
{
case2:b=1;c=1;
break;
case8:b=7;c=3;
break;
case16:b=15;c=4;
break;
default:break;
}
while(a>0)
{
inttem=a&b;
Strings=tem>9?((char)(tem-10+'A'))+"":tem+"";
sb.append(s);
a=a>>>c;
}
print(sb);//传递打印!
}
//打印!
privatestaticvoidprint(StringBuffersb)
{
System.out.println(" 结果演示:"+sb.reverse()+" 请继续输入测试--->> ");
sb=null;
}
}
❾ java如何将文件转换到十六进制
一个简单的java程序来验证字符串格式化程序的使用(“% 02x”)将文件转换成十六进制值。