本文目录一览:
- 1、Java中怎样将十进制浮点数转换为十六进制
- 2、用java 写一个10进制转16进制的算法 怎么写
- 3、java中如何将byte[]里面的数据转换成十六进制?
- 4、JAVA如何将10进制的int转成16进制的int?
- 5、可以把java中十进制数用代码直接转为16进制吗?
- 6、java中怎么将10进制转化成十六进制
Java中怎样将十进制浮点数转换为十六进制
浮点数与十六进制数如何互相转换
在基于C#的网络通讯中,上位机将有发送的浮点数f转换为16进制数
float f = 1.2f;
string s = BitConverter.ToString(BitConverter.GetBytes(f)).Replace( "- ", " ");
在C#中,下位机返回的16进制浮点数,先去除数据“FF FF FF FF”中的空格,
再按2个字符一截取的转换为十进Byte数组后用BitConverter.ToSingle()方法将数据转换为f1,fi.ToString()转换字符串。
//s = s.Replace( " ", " ");//如果中间有空格
byte[] arr = new byte[s.Length / 2];
for (int i = 0; i s.Length / 2; i++)
{
arr[i] = Convert.ToByte(s.Substring(i * 2, 2), 16);
}
float f1 = BitConverter.ToSingle(arr, 0);
Text = f1.ToString();
用java 写一个10进制转16进制的算法 怎么写
import java.util.Scanner;
public class TentoSixteen{
private static StringBuilder sum = new StringBuilder();
private static int rulst; //定义一个结果,记录数与15的与运算结果,求得原数二进制最后四位的值
private static int count; //若数的二进制不止四位,定义一个数来记录除去后四位的新数,运用递归作用与rulst相同
private static void TtoSMethod1(int i) { //JDK自带的转化方法
String exchanged = Integer.toHexString(i);
System.out.println(exchanged);
}
private static void Sop() { //将得到的字符串反转
System.out.println(sum.reverse().toString());
}
private static void subim(int rulst) {//判断是否超出10,根据十六进制的规则超出10部分由字母ABCDEF代替
if(rulst10) {
sum.append(rulst);
}else {
sum.append((char)('A'+(rulst-10)));//将int强制转换为char
}
}
private static void TtoSMethod2(int i) {
rulst =i15;
if(i(14)i=0) {//判断数有多少位,大于0小于16,则转换后打直接印
subim(rulst);
}else {//不止四位的数则用递归来多次运算
count=i4;//除去最后四位
subim(rulst);
TtoSMethod2(count);//递归直到count为0止
}
}
public static void main(String []args) {
@SuppressWarnings("resource")
Scanner scan = new Scanner(System.in);
System.out.println("请出入一个十进制数:");
int num = scan.nextInt();
TtoSMethod1(num);//自带方法
TtoSMethod2(num);//自定义方法,可将任意的十进制转化为十六进制
Sop();//输出
}
}
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是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
JAVA如何将10进制的int转成16进制的int?
使用java.math.BigInteger,
构造函数BigInteger(String val, int radix) :将指定基数的 BigInteger 的字符串表示形式转换为 BigInteger。
new BigInteger("01040000000100000001010000005B94D910DE8F1E41ED66466", 16).toString()即可
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
Java由四方面组成:
●Java编程语言,即语法。
●Java文件格式,即各种文件夹、文件的后缀。
●Java虚拟机(JVM),即处理*.class文件的解释器。
●Java应用程序接口(Java API)。
可以把java中十进制数用代码直接转为16进制吗?
//当然可以:我分两步讲解,两种方法,一个比较简单,利用系统API,一个讲原理稍微复杂一点!
import java.util.Scanner;
public class Tohex
{
//录入数字用!
private static Scanner sc=new Scanner(System.in);
//容器,存放转好的数字,也可以不用,也可以用数组!
private static StringBuffer sb;
public static void main(String[] args)
{
/*
Integer,这个类功能很强大,是Java提供的,想用可以查询一下;
特点就是简单拿来就用,新手不建议使用,搞懂进制转换原理以后在去使用API事半功倍!
*/
System.out.println("\n\t\t==========装16进制!==========\n\n系统API(Integer)演示:\n");
init();
}
//方法1,用系统API
private static void init()
{
//十进制!
int a=125454;
//转换过程16进制!
String hex=Integer.toHexString(a);
System.out.println(a+" 十六进制= "+hex+"\n------------------------------------\n\t\t自定义测试:\n");
input();
}
//方法2:自己动手转换,了解转换原理!
private static void input()
{
while(true)
{
System.out.println("输入被转数字:\n");
int a=sc.nextInt();
System.out.println("输入想转的进制:暂时支持2,8,16进制");
int b=sc.nextInt();
ToHex(a,b);
}
}
//转换过程!
private static void ToHex(int x,int y)//a是要转数字,b是进制!
{
sb=new StringBuffer();
int a=x,b=0,c=0;
switch(y)
{
case 2:b=1;c=1;
break;
case 8:b=7;c=3;
break;
case 16:b=15;c=4;
break;
default :break;
}
while(a0)
{
int tem=ab;
String s= tem9?((char)(tem-10+'A'))+"":tem+"";
sb.append(s);
a=ac;
}
print(sb);//传递打印!
}
//打印!
private static void print(StringBuffer sb)
{
System.out.println("\n结果演示:"+sb.reverse()+"\n请继续输入测试---\n");
sb=null;
}
}
java中怎么将10进制转化成十六进制
1,可以手动计算先将10进制的数转为二进制,二进制再转为16进制
2,我们可以直接使用java api提供的方法直接转换
int num = 14;
String hexNum = Integer.toHexString(num);
hexNum即为16进制的数
3,如图