怎么将十六进制字符串:0020000000c00012 转换成:0x00 0x20 0x00 0x00 0x00 0xc0 0x00 0x12 .

uglyFairy 2007-07-12 01:18:08
怎么将十六进制字符串:0020000000c00012 转换成:0x00 0x20 0x00 0x00 0x00 0xc0 0x00 0x12 . 最好有代码.
...全文
451 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
有谁用过 byte 了?
IhaveGotYou 2007-07-12
  • 打赏
  • 举报
回复
Byte的范围是:-127到128,你上面的0xc0对于Byte,已经溢出.
参考代码:
package net.oicp.sunflowerbbs;

public class Ahex {

static Byte[] Convert(String str) {
int len = str.length();
Byte[] result = new Byte[(int)Math.round(len/2.0D)];
int k=0;
for (int i = 0; i < len; i += 2) {
String tmp = str.substring(i, i + 2 > len ? i + 1 : i + 2);
Long hex = Long.parseLong(tmp, 16);
result[k]=hex.byteValue();
System.out.println(result[k]);
k++;
}

return result;
}

public static void main(String[] args) {

Convert("0020000000c00012");

}

}
  • 打赏
  • 举报
回复
忘记是字符串了,改一下:

String s = "0020000000c00012";
long num = Long.parseLong(s, 16);
int k = s.length() / 2;
String[] str = new String[k];
for (int i = k - 1; i >= 0; i--) {
  str[i] = String.format("0x%02x", (num & 0xffL << (i * 8)) >> (i * 8));
  System.out.print(str[i] + " ");
}
  • 打赏
  • 举报
回复
long num = 0x0020000000c00012L;
String[] str = new String[8];
for(int i = 7; i >= 0; i--) {
  str[i] = String.format("0x%02x", (num & 0xffL << (i*8)) >> (i*8));
  System.out.print(str[i] + " ");
}
goziung 2007-07-12
  • 打赏
  • 举报
回复
不好意思,substring(int beginIndex, int endIndex)方法名字中string的“S”是小写的,特此更正
goziung 2007-07-12
  • 打赏
  • 举报
回复
你把整个字符串string拆开为8个两位的字符串数组,然后在前面加“0x”,再转换为相应的应用类型,行不?
用String类里的toCharArray() 或者 subString(int beginIndex, int endIndex)都能实现
bug008 2007-07-12
  • 打赏
  • 举报
回复
该问题的目的是将16位十六进制数据转换成8个字节数据
bug008 2007-07-12
  • 打赏
  • 举报
回复
注意:
实现语言:Java
  • 打赏
  • 举报
回复
需要
#include<sstream>
#include<algoritm>
  • 打赏
  • 举报
回复
stringstream conv;
conv<<hex;
conv<<"0020000000c00012";
unsigned char sz[8]={0};
long long *xx = (long long*)sz;
conv>> *xx;
reverse( sz , sz + 8 );
这里的sz就是你所需要的字符串了,
内容概要:本文围绕飞轮储能系统的仿真研究展开,重点探讨以永磁同步电机(PMSM)作为飞轮驱动电机的能量存储与释放过程。通过Simulink平台构建完整的飞轮储能系统仿真模型,涵盖电机驱动控制、能量转换、转速调节及充放电动态响应等关键环节。研究详细分析了永磁同步电机在高速旋转下的运行特性,结合矢量控制策略实现对飞轮加速与制动过程的精确控制,并对系统在能量回馈和吸收工况下的稳定性与效率进行了仿真验证。该仿真体系有助于深入理解飞轮储能的工作机理及其在电力系统调频、不间断供电等场景中的应用潜力。; 适合人群:具备一定电力电子、电机控制与仿真基础的电气工程及相关专业的研究生、科研人员及从事储能系统开发的工程技术人员。; 使用场景及目标:①掌握飞轮储能系统的基本架构与工作原理;②学习基于Simulink的永磁同步电机驱动系统建模与控制方法;③为飞轮储能技术在新能源并网、微电网和高可靠性供电系统中的应用提供仿真支持和技术参考; 阅读建议:建议读者结合电机控制理论与电力系统储能知识,配合Simulink模型逐步调试与分析,重点关注控制策略参数整定与系统动态性能的关系,以提升实际科研与工程应用能力。
内容概要:本文档提供了关于高精度场合下伺服电机转子初始位置检测的完整技术方案,重点介绍了一种基于PMSM(永磁同步电机)的脉冲注入式初始位置检测方法。该资源包含详细的C语言实现代码与配套解析文档,系统阐述了通过高频脉冲信号注入定子绕组,利用电机凸极效应和响应电流差异来精确估算转子初始位置的核心原理。内容涵盖了信号注入策略、响应信号采集与处理、位置角计算算法及抗干扰设计等关键技术环节,适用于对电机控制精度要求严苛的应用场景。; 适合人群:具备电机控制理论基础和嵌入式C编程能力,从事电机驱动开发、电力电子或自动化控制方向的研发人员,尤其适合工作1-3年、希望深入理解无传感器控制底层算法的工程师。; 使用场景及目标:① 实现永磁同步电机启动前的高精度转子初始定位,解决传统传感器带来的成本与可靠性问题;② 学习并掌握脉冲注入法在无位置传感器控制中的具体应用与工程实现细节;③ 为开发高性能伺服系统、变频器或新能源汽车电驱系统提供核心技术参考。; 阅读建议:建议读者结合C代码与解析文档同步研读,重点关注算法实现与实际硬件系统的匹配关系,可通过搭建仿真模型或在实验平台上进行代码调试,以深入理解各参数对检测精度的影响,从而完成从理论到实践的转化。

62,626

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧