社区
C语言
帖子详情
Question : Decimal conversion Hex!
java1985
2004-12-02 12:14:41
我想将 char c[9] = "123456789"; 变成:
char H[0] = 0x01;
char H[1] = 0x23;
char H[2] = 0x45;
char H[3] = 0x67;
char H[0] = 0x89;
然后在Read H[``]内容,比如将0x01在转换为Integer 1,0x23 变为 Integer 23.
还请大家多多指教````解决问题```马上结贴!
...全文
115
15
打赏
收藏
Question : Decimal conversion Hex!
我想将 char c[9] = "123456789"; 变成: char H[0] = 0x01; char H[1] = 0x23; char H[2] = 0x45; char H[3] = 0x67; char H[0] = 0x89; 然后在Read H[``]内容,比如将0x01在转换为Integer 1,0x23 变为 Integer 23. 还请大家多多指教````解决问题```马上结贴!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
java1985
2004-12-06
打赏
举报
回复
呵呵````真的会这样吗?
248406869
2004-12-06
打赏
举报
回复
char c[9] = "123456789";
缓冲区溢出。当心!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
java1985
2004-12-06
打赏
举报
回复
char c[9] = "123456789";
变成:
char H[0] = 0x01; 就是将 已知的 1 变为 0x01,
char H[1] = 0x23; 就是将 已知的 23 变为 0x023,
char H[2] = 0x45;
char H[3] = 0x67;
char H[4] = 0x89;
然后在Read H[``]内容,比如将0x01在转换为Integer 1,0x23 变为 Integer 23.
非常感谢兄弟们的回帖```
bobedong
2004-12-03
打赏
举报
回复
不太行,你写的是12,34,56,78,9 不是01,23,45,67,89,就是那个1怎么办?
还有c[9]不行,必须得有一个字符串的结束\0,应该是c[10]
copygirl
2004-12-03
打赏
举报
回复
这题很容易让人产生误解嘛,楼主的意思是,将十进制的字符串,转为十六进制的字符串,数字还得与原来相同。在网吧里写的,大概是这个意思吧:
main()
{
int i;
int ibuffer;
int a,b;
char c[9] = "123456789";
char buffer[3];
for(i=0;i<strlen(c);i+=2)
{
buffer[0]=c[i];
buffer[1]=c[i+1];
buffer[2]='\0';
ibuffer=atoi(buffer);/*先转为十进制*/
a=ibuffer/10;/*取十位*/
ibuffer=ibuffer-a*10+a*16;/*将十位变为十六进制,原数减去十进制的十位,此时为十六进制的十进制表示*/
sprintf(buffer, "%02X", ibuffer);/*再以16进制显示出来,OK!*/
}
}
bobedong
2004-12-03
打赏
举报
回复
是不是一定要中间的16进制结果,那要好像很麻烦把,
用atoi可以“12”->12,十进制的
bobedong
2004-12-03
打赏
举报
回复
char c[11] = "0123456789";
char buffer[11];
char *p = NULL;
int H[9];
int i;
i = 0;
p = c;
for(i=0; i<5; i++)
{
strcpy(buffer,p);
buffer[2] = '\0';
H[i] = atoi(buffer);
p = p+2;
}
我不知道怎样处理1?
bobedong
2004-12-02
打赏
举报
回复
用sprintf()参数用%02x就行了,
java1985
2004-12-02
打赏
举报
回复
On-Line Waiting```
java1985
2004-12-02
打赏
举报
回复
On-Line Waiting```
java1985
2004-12-02
打赏
举报
回复
呵呵,好像还有点差异:
char c[9] = "123456789"; 变成:
char H[0] = 0x01; 就是将 已知的 1 变为 0x01,
char H[1] = 0x23; 就是将 已知的 23 变为 0x023,
char H[2] = 0x45;
char H[3] = 0x67;
char H[0] = 0x89;
然后在Read H[``]内容,比如将0x01在转换为Integer 1,0x23 变为 Integer 23.
多谢你的回复```已经很贴近了```麻烦老兄在帮帮忙```我就结贴
bobedong
2004-12-02
打赏
举报
回复
char buffer[3];
int iData;
iData = 10;
sprintf(buffer, "%02X", iData);
结果:
buffer中的值就应该是0A呀。
不知道,我写的,和你说的,是不是一个意思。
java1985
2004-12-02
打赏
举报
回复
能否写出个例子````我还是不大理解
David888david
2004-12-02
打赏
举报
回复
sprintf
java1985
2004-12-02
打赏
举报
回复
不是吧``````
f
763.
Hex
Con
version
[LintCode naive]
Description ...Given a
decimal
numbernand an integerk, Convert
decimal
number ntobase-k. 1.0<=n<=2^31-1,2<=k<=162.Each letter over 9 is indicated inuppercase Hav...
Python中的字符串
Returns true if a unicode string contains only
decimal
characters and false otherwise 2字符串相关的操作符: Assume string variable a holds 'Hello' and ...
java array to string,array_diff数组到错误的字符串转换(array_diff Array to string con
version
in error)...
array_diff数组到错误的字符串转换(array_diff Array to string con
version
in error)我想计算不同的两个数组,但我得到错误;Notice: Array to string con
version
in x.php on line 255而不是计算不同。码:$db->...
16 ORA-29250 to ORA-32775
ORA-29250: Invalid index specifed in call to dbms_sql.bind_arrayCause: An invalid index was specified in a call to bind_array of dbms_sql. The index may have been null or of an improper value.Action: ...
java常见面试题
内容均来自于CSDN的经典老贴。 问题一:我声明了什么! String s = "Hello world!"; 许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是“Hello world!...
C语言
69,337
社区成员
243,078
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章