C++十进制到各种进制转换的实现
2015-03-28 16:10
676 查看
#ifndef COUNT_ZERO_H
#define COUNT_ZERO_H
#include<iostream>
#include<cstdlib>
using namespace std;
#define JINZHI 8;//设置进制
int * dectobi(const int a)
{
int * r=new int [32] ;
for (int i = 0; i<32; ++i)//初始化数组r;
r[i] = 0;
int temp;
if (0 == a) { return r; }
else
{
if (a > 0)
{
r[31] = 0;//设置符号位
int i = 0;
temp = a;
for (; temp > 0; ++i)
{
r[i] = temp % JINZHI;//取余数赋给r[i]
temp = temp / JINZHI;//取商赋给temp,即可进行下一次计算
}
return r;
}
else
{
r[31] = 1;
int i = 0;
temp = -a;
for (; temp > 0; ++i)
{
r[i] = temp % 2;
temp = temp / 2;
}
return r;
}
}
}
#endif
#include<iostream>
#include"coutzero.h"
int main()
{
int m;
cout << "Enter an int number(Nonnumber to quit) : ";
while (cin >> m&&cin.get() == '\n')//输入为数字,而且读取数字后的字符为回车,这样就可以避免-15k这样的输入能进入计算
{
int *r;
r = dectobi(m);
for (int i = 0; i < 32; ++i)
cout << *(r + 31 - i) << "\t";
cout << "\nEnter an int number (Nonnumber to quit) : ";
delete r;
//cin.get();
//cin >> m;
}
return 0;
}
相关文章推荐
- Java实现十进制到各种进制的转换
- 转载 在JavaScript中实现的各种进制间的转换。
- 巧用一条SQL 实现其它进制到十进制转换
- 巧用一条SQL语句实现其它进制到十进制转换
- 用标准c++实现string与各种类型的转换
- C#各种进制之间数据转换二进制、八进制、十进制、十六进制
- 一条SQL语句实现其它进制到十进制转换
- ORACLE中用一条SQL实现其它进制到十进制的转换
- ORACLE中用一条SQL实现其它进制到十进制的转换
- 同余幂的原理和C++实现,附赠一个10进制数转换为任意进制的数组的算法。
- RACLE中用一条SQL实现其它进制到十进制的转换
- 在.NET Framework中,实现各种进制的数值间的转换
- 巧用一条SQL 实现其它进制到十进制转换
- 数据结构的应用——使用栈实现十进制到其他(2、8、16)进制的转换
- 用一条SQL 实现其它进制到十进制的转换
- 巧用一条SQL 实现其它进制到十进制转换
- ORACLE中巧用一条SQL 实现其它进制到十进制转换(转)
- 巧用一条SQL 实现其它进制到十进制转换
- ORACLE中用一条SQL实现其它进制到十进制的转换(转)
- 数据结构的应用——使用栈实现十进制到其他(2、8、16)进制的转换