导航:首页 > 编程语言 > java16进制转2进制

java16进制转2进制

发布时间:2023-01-29 13:15:21

‘壹’ 如何用java语言将十六进制数转换成二进制数,并输出急需!

16进制转2进制----实例
publicclassHex2Binary
{
publicstaticvoidmain(String[]args)
{
StringhexString="ABCD";
System.out.println(hexString2binaryString(hexString));
}

(StringhexString)
{
if(hexString==null||hexString.length()%2!=0)
returnnull;
StringbString="",tmp;
for(inti=0;i<hexString.length();i++)
{
tmp="0000"
+Integer.toBinaryString(Integer.parseInt(hexString
.substring(i,i+1),16));
bString+=tmp.substring(tmp.length()-4);
}
returnbString;
}
}

2进制转16进制---实例
publicclassBinary2Hex
{
publicstaticvoidmain(String[]args)
{
StringbString="1010101111001101";
System.out.println(binaryString2hexString(bString));
}

(StringbString)
{
if(bString==null||bString.equals("")||bString.length()%8!=0)
returnnull;
StringBuffertmp=newStringBuffer();
intiTmp=0;
for(inti=0;i<bString.length();i+=4)
{
iTmp=0;
for(intj=0;j<4;j++)
{
iTmp+=Integer.parseInt(bString.substring(i+j,i+j+1))<<(4-j-1);
}
tmp.append(Integer.toHexString(iTmp));
}
returntmp.toString();
}
}

‘贰’ 用JAVA编程用一个数组来存放一个16进制数,并将该16进制数转换为二进制后存入该数组中,最后输出.

//16进制转二进制
public static void main(String[] args)
{
String hexString = "ABCD";
System.out.println(hexString2binaryString(hexString));
}

public static String hexString2binaryString(String hexString)
{
if (hexString == null || hexString.length() % 2 != 0)
return null;
String bString = "", tmp;
for (int i = 0; i < hexString.length(); i++)
{
tmp = "0000"
+ Integer.toBinaryString(Integer.parseInt(hexString
.substring(i, i + 1), 16));
bString += tmp.substring(tmp.length() - 4);
}
return bString;
}

你说数组只有 1个元素。那改成String[]={}

‘叁’ JAVA,简单实现16进制转2进制的代码问题

16进制转2机制,可以直接转不用先转10进制
暂且按整形计算,四个字节
int a=0x10;
byte[] byte=new byte[4]
for(int i=0;i<byte.length;i++){
byte[i]=(a>i*8)&0xFF;//一个字节8位
}
这个byte就是二进制

‘肆’ 如何用JAVA语言将十六进制数转换成二进制数,并输出

首先你要写一个 将一位的16进制数转成对应的4位的二进制数的函数。
然后就可以用这个函数对一个16进制数逐位的转换

‘伍’ java十进制数转换成二进制,8进制以及16进制二进制转十进制

Java程序:

publicclassMain{
publicstaticvoidmain(String[]args){
intnum=1234;
System.out.println("十进制:"+num);
System.out.println("二进制:"+Integer.toBinaryString(num));
System.out.println("八进制:"+Integer.toOctalString(num));
System.out.println("十六进制:"+Integer.toHexString(num));
System.out.println();

Stringstr="10011010010";
System.out.printf("二进制:%s 十进制:%d ",str,Integer.parseInt(str,2));
str="2322";
System.out.printf("八进制:%s 十进制:%d ",str,Integer.parseInt(str,8));
str="4D2";
System.out.printf("十六进制:%s 十进制:%d ",str,Integer.parseInt(str,16));
}
}


运行测试:

十进制:1234
二进制:10011010010
八进制:2322
十六进制:4d2

二进制:10011010010 十进制:1234
八进制:2322 十进制:1234
十六进制:4D2 十进制:1234

‘陆’ 如何用JAVA语言将十六进制数转换成二进制数,并输出

我的思路很简单:

publicclass六转2
{
publicstaticvoidmain(String[]args)
{
System.out.println(" ==========16转二进制========== ");
init();
}//初始化!
privatestaticvoidinit()
{
//字符串形式的:16进制!
Strings="ACCC";
//字符串形式十进制--作为桥梁!
intsint=Integer.valueOf(s,16);
//十进制在转换成二进制的字符串形式输出!
Stringbin=Integer.toBinaryString(sint);
//输出!
System.out.println(bin);
}
}

‘柒’ java 16进制字符串转为二进制bit数组

应该用byte型数组
public static String stringToHexString(String strPart) {
String hexString = "";
for (int i = 0; i < strPart.length(); i++) {
int ch = (int) strPart.charAt(i);
String strHex = Integer.toHexString(ch);
hexString = hexString + strHex;
}
return hexString;
}

private static String hexString="0123456789ABCDEF";
/*
* 将字符串编码成16进制数字,适用于所有字符(包括中文)
*/
public static String encode(String str)
{
// 根据默认编码获取字节数组
byte[] bytes=str.getBytes();
StringBuilder sb=new StringBuilder(bytes.length*2);
// 将字节数组中每个字节拆解成2位16进制整数
for(int i=0;i<bytes.length;i++)
{
sb.append(hexString.charAt((bytes[i]&0xf0)>>4));
sb.append(hexString.charAt((bytes[i]&0x0f)>>0));
}
return sb.toString();
}

/*
* 将16进制数字解码成字符串,适用于所有字符(包括中文)
*/
public static String decode(String bytes)
{
ByteArrayOutputStream baos=new ByteArrayOutputStream(bytes.length()/2);
// 将每2位16进制整数组装成一个字节
for(int i=0;i<bytes.length();i+=2)
baos.write((hexString.indexOf(bytes.charAt(i))<<4 |hexString.indexOf(bytes.charAt(i+1))));
return new String(baos.toByteArray());
}

private static byte uniteBytes(byte src0, byte src1) {
byte _b0 = Byte.decode("0x" + new String(new byte[] {src0})).byteValue();
_b0 = (byte) (_b0 << 4);
byte _b1 = Byte.decode("0x" + new String(new byte[] {src1})).byteValue();
byte ret = (byte) (_b0 | _b1);
return ret;

public static byte[] HexString2Bytes(String src)
{
byte[] ret = new byte[6];
byte[] tmp = src.getBytes();
for(int i=0; i<6; ++i )
{
ret[i] = uniteBytes(tmp[i*2], tmp[i*2+1]);
}
return ret;
}

‘捌’ 急,急急,跪求java十六进制转换成二进制(要自己写算法),再把得到的二进制数取反后,在转换成十六进制

Java程序:

public class Test29 {
public static void main(String[] args) {
String hex = "12345abcdef67890";
String bin;
bin = Transform.convertHexToBin(hex);
System.out.println(hex + " --> " + bin);

hex = Transform.convertBinToHex(bin);
System.out.println(bin + " --> " + hex);
}
}

class Transform{
private static String[] hexs = new String[]{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
"a", "b", "c", "d", "e", "f"};
private static String[] bins = new String[]{"0000", "0001", "0010", "0011", "0100", "0101",
"0110", "0111", "1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111"};

//将十进制数hex转换为二进制数并返回
public static String convertHexToBin(String hex){
StringBuffer buff = new StringBuffer();
int i;
for(i=0; i<hex.length(); i++){
buff.append(getBin(hex.substring(i,i+1)));
}
return buff.toString();
}

//将二进制数bin转换为十六进制数并返回
public static String convertBinToHex(String bin){
StringBuffer buff = new StringBuffer(bin);
int i;
if(bin.length()%4 != 0){//左补零
for(i=0; i<(4-bin.length()%4); i++){
buff.insert(0, "0");
}
}
bin = buff.toString();
buff = new StringBuffer();

for(i=0; i<bin.length(); i+=4){
buff.append(getHex(bin.substring(i,i+4)));
}
return buff.toString();
}

//返回十六进制数的二进制形式
private static String getBin(String hex){
int i;
for(i=0; i<hexs.length && !hex.toLowerCase().equals(hexs[i]); i++);
return bins[i];
}

//返回二进制数的十六进制形式
private static String getHex(String bin){
int i;
for(i=0; i<bins.length && !bin.equals(bins[i]); i++);
return hexs[i];
}
}

运行测试:
12345abcdef67890 -->
--> 12345abcdef67890

阅读全文

与java16进制转2进制相关的资料

热点内容
苹果平板如何开启隐私单个app 浏览:700
空调压缩机一开就停止 浏览:524
如何下载虎牙app 浏览:845
日语年号的算法 浏览:953
dev里面的编译日志咋调出来 浏览:298
php函数引用返回 浏览:816
文件夹和文件夹的创建 浏览:259
香港加密货币牌照 浏览:838
程序员鼓励自己的代码 浏览:393
计算机网络原理pdf 浏览:750
吃鸡国际体验服为什么服务器繁忙 浏览:94
php中sleep 浏览:490
vr怎么看视频算法 浏览:86
手机app如何申报个人所得税零申报 浏览:692
如何截获手机app连接的ip 浏览:331
冰箱压缩机是否需要电容 浏览:346
python列表每一行数据求和 浏览:274
自己有一台服务器可以玩什么 浏览:656
社会学波普诺pdf 浏览:584
解压做食物的小视频 浏览:758