社区
C++ 语言
帖子详情
如何把长的数字型字符串转化为16进制的字符串?
qfsb_p
2006-06-09 05:27:36
如题:
不管是思路还是源代码都欢迎,当然源代码最好,呵呵
请试这个字符串“410000000000000000188999”
...全文
424
19
打赏
收藏
如何把长的数字型字符串转化为16进制的字符串?
如题: 不管是思路还是源代码都欢迎,当然源代码最好,呵呵 请试这个字符串“410000000000000000188999”
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qfsb_p
2006-06-19
打赏
举报
回复
谢谢各位!
结贴
bjzhaoxiao
2006-06-13
打赏
举报
回复
学习中。。
du51
2006-06-11
打赏
举报
回复
for_each比tansform要快.
逸学堂
2006-06-11
打赏
举报
回复
使用%2x,转换为unsign short类型输出
OOPhaisky
2006-06-11
打赏
举报
回复
帮楼主顶一下,顺便学习...
TrueZq
2006-06-10
打赏
举报
回复
晨星厉害
qfsb_p
2006-06-10
打赏
举报
回复
对于“transform(digits.begin(), digits.end(), digits.begin(), binder2nd<minus<int> >(minus<int>(), (int)'0'));”
我不是很明白是什么作用,请晨星解释一下,谢谢。
qfsb_p
2006-06-10
打赏
举报
回复
谢谢晨星,果然不错!
下周结贴,让大家都学习学习!
晨星
2006-06-10
打赏
举报
回复
vector<int> digits里本来存放的是从字符串里拷贝来的数字字符,既各个数字的ASCII码。
为了方便计算,省得后面不断地转换来转换去,我用这个transform把digits中的每一个值减去了字符'0'的ASCII码,于是把它们转换成了各个字符对应的整数,即字符'0'被转换成了整数0,字符'1'被转换成了整数1,……
lishan2002
2006-06-09
打赏
举报
回复
strtoul
jixingzhong
2006-06-09
打赏
举报
回复
呵呵
这么大数字,
如果转换成内置数据类型是不行的,会溢出 ....
jixingzhong
2006-06-09
打赏
举报
回复
呵呵
这么大数字,
如果转换成内置数据类型是不行的,会溢出 ....
晨星
2006-06-09
打赏
举报
回复
#include <iostream>
#include <string>
#include <algorithm>
#include <functional>
#include <vector>
using namespace std;
string toHex(const string& dec);
int main() {
string dec("410000000000000000188999");
cout << toHex(dec) << endl;
}
string toHex(const string& dec) {
const char* hexDigits = "0123456789ABCDEF";
vector<int> digits;
copy(dec.begin(), dec.end(), back_inserter(digits));
transform(digits.begin(), digits.end(), digits.begin(), binder2nd<minus<int> >(minus<int>(), (int)'0'));
vector<int>::iterator first = digits.begin();
vector<int>::iterator last = digits.end();
string result;
while(first != last) {
int r = 0;
for(vector<int>::iterator i = first; i != last; i++) {
int tmp = *i + r * 10;
*i = tmp / 16;
r = tmp % 16;
}
result = hexDigits[r] + result;
while(*first == 0 && first != last)
first++;
}
return result;
}
fhb13
2006-06-09
打赏
举报
回复
如果要输出而不是进行处理就用cout,具体数值分开来存储,具体划分可以用取模的方法。
zhouhuahai
2006-06-09
打赏
举报
回复
没细看,那么长的数啊?不好意思
zhouhuahai
2006-06-09
打赏
举报
回复
先atoi, 再以%x方式来sprintf,两行代码搞定!!!
dengjun0256
2006-06-09
打赏
举报
回复
你那0x就是字符串中的二个字符,与十六进制有关吗?
qfsb_p
2006-06-09
打赏
举报
回复
比如“0x56D225004EE68C42E247”
dengjun0256
2006-06-09
打赏
举报
回复
什么叫十六进制的字符串?
将
字符串
转化
为
16进制
数
在有些情况下,想得到n个
16进制
数。然而你只能得到一个
字符串
数组,数组中的数据都是文本形式。 例如char *s = “1b5050508af890ef50”; 我想得到的是
16进制
数1b 50…,而数组中的字符,每一位都可以
转化
为一个
16进制
数,(1b转为为ASCII是 0x31 和0x61)。写代码让
字符串
中1b变成
16进制
的 0x1b #include<stdio.h> #inc...
php
字符串
转化
为
16进制
,php将
字符串
转换成
16进制
的方法
php将
字符串
转换成
16进制
的方法本文实例讲述了php将
字符串
转换成
16进制
的方法。分享给大家供大家参考。具体分析如下:php中可以通过bin2hex函数将
字符串
转换成
16进制
的形式输出,bin2hex()函数返回结果为ascii码$string = "Hello\tworld!\n";print($string."\n");print(bin2hex($string)."\n");?>输出...
16进制
字符串
转化
为10进制数字
16进制
字符串
转化
为10进制数字,c语言,strtol函数,sscanf函数,PTA
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
python将
字符串
转换成
16进制
base = input("请输入要转换的
字符串
:") by = bytes(base,'UTF-8') #先将输入的
字符串
转化
成字节码 hexstring = by.hex() #得到
16进制
字符串
,不带0x #输出如下: #请输入要转换的
字符串
:大多数 #e5a4a7e5a49ae695b0 因为hex()函数只接受整数,所以可先将
16进制
字符串
转换成整数: a = i...
C++ 语言
65,187
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章