大数据string八进制转为string十六进制(通过string的二进制)
来源:互联网 发布:wps不能使用数据透视表 编辑:程序博客网 时间:2024/05/29 09:32
int main()
{
string a("055123124543535254554539845934584845945893485394834444428472398479234738");
string b; //二进制
string c; //十六进制
for (auto i = a.size() - 1; i >= 1; --i)
{
for (auto j = stoi(a.substr(i, 1)), z = 0; j != 0 || z < 3; ++z)
{
b = std::to_string(j % 2) + b;
j /= 2;
}
}
if (b.size() % 4)//位零则除去,有1则加零到4位 转换成4位4位的2进制
{
auto i = b.size() % 4;
for (auto j = 0; j < i; ++j)
{
if (stoi(b.substr(j, 1)))
{
for (auto z = 0; z < 4 - i; ++z)
b = std::to_string(0) + b;
}
}
if (b.size() % 4)
b.erase(0, i);
}
for (auto i = 0; i < b.size();)
{
auto n = stoi(b.substr(i, 1)) * 8 + stoi(b.substr(i + 1, 1)) * 4\
+ stoi(b.substr(i + 2, 1)) * 2 + stoi(b.substr(i + 3, 1));
i += 4;
switch (n)
{
case 10:c += "a"; break;
case 11:c += "b"; break;
case 12:c += "c"; break;
case 13:c += "d"; break;
case 14:c += "e"; break;
case 15:c += "f"; break;
default:c += std::to_string(n); break;
}
}
cout << "0x" << c << endl;
return 0;
}
{
string a("055123124543535254554539845934584845945893485394834444428472398479234738");
string b; //二进制
string c; //十六进制
for (auto i = a.size() - 1; i >= 1; --i)
{
for (auto j = stoi(a.substr(i, 1)), z = 0; j != 0 || z < 3; ++z)
{
b = std::to_string(j % 2) + b;
j /= 2;
}
}
if (b.size() % 4)//位零则除去,有1则加零到4位 转换成4位4位的2进制
{
auto i = b.size() % 4;
for (auto j = 0; j < i; ++j)
{
if (stoi(b.substr(j, 1)))
{
for (auto z = 0; z < 4 - i; ++z)
b = std::to_string(0) + b;
}
}
if (b.size() % 4)
b.erase(0, i);
}
for (auto i = 0; i < b.size();)
{
auto n = stoi(b.substr(i, 1)) * 8 + stoi(b.substr(i + 1, 1)) * 4\
+ stoi(b.substr(i + 2, 1)) * 2 + stoi(b.substr(i + 3, 1));
i += 4;
switch (n)
{
case 10:c += "a"; break;
case 11:c += "b"; break;
case 12:c += "c"; break;
case 13:c += "d"; break;
case 14:c += "e"; break;
case 15:c += "f"; break;
default:c += std::to_string(n); break;
}
}
cout << "0x" << c << endl;
return 0;
}
阅读全文
0 0
- 大数据string八进制转为string十六进制(通过string的二进制)
- 二进制string转为string
- java中二进制、八进制、十六进制转换为String
- C#将string转为十六进制
- 蓝桥杯 BASIC-12 十六进制转八进制【string】
- 二进制、八进制、十六进制 转为 十进制
- 十六进制,八进制,十进制数转为二进制数显示的函数
- 实战c++中的string系列--十六进制的字符串转为十六进制的整型(通常是颜色代码使用)
- stl::string与二进制数据
- string来存放二进制数据
- stl::string与二进制数据
- StringBuilder,String, int转为String
- Arcgis 怎样把string类型的数据转为int型
- 大数据十六进制转八进制
- C语言——十进制转为二进制、八进制、十六进制的函数转换
- byte转为string
- String转为Date
- 将string转为大小写
- hdu6126 Give out candies(SPFA+Dinic)
- Docker命令详解
- 成为优秀算法工程师的唯一条件
- SQL的基本曾删改查
- 拓扑排序
- 大数据string八进制转为string十六进制(通过string的二进制)
- caffe框架下目标检测——faster-rcnn实战篇操作
- [RK3288][Android7.1.2] Launcher3 源码阅读之step4:详解Launcher的OnCreate方法的C部分
- Linux Qt调用 LibVLC记录
- 第四章 Thread Executors(Executors多线程架构)【下】
- jquery+ajax+mysql+php上拉加载瀑布流效果或者jquery+ajax+mysql+php滚动条向下滚动瀑布流效果加载
- dubbo--学习
- MultiActionController,PropertiesMethodNameResolver,ParameterMethodNameResolver简单例子
- java中的排序sort()函数的使用