二进制转十进制十进制转二进制
程序员文章站
2022-07-15 09:35:58
...
void dec_to_bin(unsigned long num, vector<int> & ivec2)
{
vector<int> ivec;
unsigned long Num = num; //存储原数据
//对原数据循环求除以2的余数,并存储在vector对象中
while (num != 0)
{
ivec.push_back(num % 2);
num = num / 2;
}
//对求得的余数倒序排序并存储在vector中,求得二进制
vector<int>::size_type sz = ivec.size();
for (vector<int>::size_type index = 0; index != sz; ++index)
ivec2.push_back(ivec[sz - 1 - index]);
}
void bin_to_dec(vector<int> ivec2, unsigned long & num)
{
num = 0;
int i = ivec2.size();
int a = 0;
for (; i >0; i--)
{
num+= ivec2 [a]*pow(2, i-1);
a++;
}
}
上一篇: 算法笔记 — 进制转换(大数运算-十进制转二进制)
下一篇: C语言:进制转换,十进制转二进制