社区
C++ 语言
帖子详情
16进制字符串
zejun_yao
2006-05-15 04:55:58
有4个字节的数组 char str[4] ={0x01,0x02,0x01,0x0a};
现在希望将这数组转为十进制的整型,该如何做?
我希望得到的结果是0x0102010a = 16908554
请教了!
...全文
1029
18
打赏
收藏
16进制字符串
有4个字节的数组 char str[4] ={0x01,0x02,0x01,0x0a}; 现在希望将这数组转为十进制的整型,该如何做? 我希望得到的结果是0x0102010a = 16908554 请教了!
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zejun_yao
2006-05-16
打赏
举报
回复
thanks,over!!!
铖邑
2006-05-16
打赏
举报
回复
移动8个位,就是一个字节
aronzhou
2006-05-16
打赏
举报
回复
unsigned long num = 0;
for (int i = 0; i < 4; ++i) {
num = (num << 8) | str[i];
}
num的值就是了
————————————————————
num<<8 为什么是8?
铖邑
2006-05-16
打赏
举报
回复
char *str[4] ={0x00,0x00,0x00,0x01};
unsigned int x = *(unsigned int*)str;
0x1000000=====16777216
用unsigned int移位运算不会把符号带进来(可能又会引发下一个问题了,汗一个)
当然也可以用int,看需要了
zejun_yao
2006-05-16
打赏
举报
回复
char *str[4] ={0x00,0x00,0x00,0x01};
unsigned int x = *(unsigned int*)str;
我测试过x的值为16777216,为什么?
另外为什么要用unsigned int 而不能用int?
铖邑
2006-05-16
打赏
举报
回复
整数在内存里面表示为四个字节,所以你可以把四个字节的字符串转成整数
zejun_yao
2006-05-16
打赏
举报
回复
语法我了解,只是语义我不清楚,将str转为无符号整形的意义是什么?
铖邑
2006-05-16
打赏
举报
回复
unsigned int x = *( unsigned int* )str;
------------>
unsigned int *p = ( unsigned int* )str;
unsigned int x = *p;
zejun_yao
2006-05-16
打赏
举报
回复
请教各位了!
zejun_yao
2006-05-16
打赏
举报
回复
unsigned int x = *( unsigned int* )str;
这句代码的意思是什么啊?
铖邑
2006-05-16
打赏
举报
回复
整数的存储是自低向高的字节排列顺序,象楼主所说的0x0102010a,用字符串表示应该是:
char str[4] ={0x0a,0x01,0x02,0x01};所以……………………
zejun_yao
2006-05-16
打赏
举报
回复
具体解释一下,请教了
铖邑
2006-05-16
打赏
举报
回复
它这个顺序是倒过来的。跟楼主上面的那个做法不同
zejun_yao
2006-05-16
打赏
举报
回复
从网络上获取16进制的数据(以字符串形式表达),有段代码看不懂,请帮忙解释一下
char str[4] ={.....};
unsigned int x = *( unsigned int* )str;
unsigned int y = htonl( x );
然后y就是所得的16进制数的10进制结果。为什么啊?
sankt
2006-05-15
打赏
举报
回复
学习
dreamXren
2006-05-15
打赏
举报
回复
。。。。慢了1秒。。。。
dreamXren
2006-05-15
打赏
举报
回复
unsigned long num = 0;
for (int i = 0; i < 4; ++i) {
num = (num << 8) | str[i];
}
num的值就是了
铖邑
2006-05-15
打赏
举报
回复
int result = 0;
for(int i = 0; i < 4; i ++)
result = result << 8 | str[i];
c语言
字符串
转
16进制
及
16进制
转
字符串
一般来说,加密解密的时候,密钥的生成可能包含一些特殊的不可见字符,为了方便保存,我们可以将字符转化成
16进制
c语言中如何将
字符串
转化成
16进制
,主要用一下函数 一:
字符串
转
16进制
sprintf((char*)(hex + j), “%02X”, bin[i]);即将一个字符按照%02X格式即
16进制
输出 void bin2hex(unsigned char *bin,char *hex,int binlength) { int i = 0; int j = 0; for (i = 0,j = 0
C++
字符串
转
16进制
在串口通讯中,时常涉及到
16进制
字符串
发送,需要将
字符串
转为
16进制
。 Example:string str = "07 0a 02 10 03 00 00 00 00 00" #include <stdio.h> #include <stdlib.h> #include <string.h> int char2bits(char ch) { int bits = 0; if (ch >= 'a' && ch <= '.
C#
16进制
转10进制
16进制
字符串
转换
VS-C++ 系列:所有相关C++文章链接. VS-C# 系列:所有相关C#文章链接. bat 系列:所有相关bat文章链接. 所有内容均以最小系统调试成功;逐步提供低分源码工程下载! 保证每行代码都经过验证! 如有疑惑,欢迎留言,看见即回;祝好__by Dxg_LC 标题 //
16进制
字符串
转10进制 int Value = Convert.ToInt32("ffff", 16); Console.WriteLine(Value.Tostring()); //65535 //10进制转16
字符串
str
C++
16进制
字符串
转
16进制
数组函数
@TOCC++
16进制
字符串
转
16进制
数组函数 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它...
C#
字符串
与
16进制
的相互转换
字符串
转换成
16进制
字符 /// <summary> ///
字符串
转换为
16进制
字符 /// </summary> /// <param name="s"></param> /// <param name="encode"></param> ...
C++ 语言
65,213
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章