C++编写一个程序,将用户输入的十进制整数转换成任意进制的数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++编写一个程序,将用户输入的十进制整数转换成任意进制的数相关的知识,希望对你有一定的参考价值。

1、首先,定义四个整型变量,保存十进制整数、二进制整数等计算值。

2、给变量i和二进制数赋初值,值为0。

3、接着,输入一个十进制整数。

4、用while语句判断,条件为十进制数是否为零。

5、当十进制数不为零时,对十进制数用2求余,保存在变量d中。

6、十进制数除以2,使数值缩小为原来的二分之一。

7、输出十进制数所对应的二进制数。

8、运行程序,输入任意一个十进制整数,计算机就会输出对应的二进制数。

参考技术A #include <math.h>
#include <iostream>
using namespace std;
char * DEC2N(long x,int n)

if (n>36||n<2) cout<<"ERROR!"<<endl;return 0;
char *temp;
int i=int(log(float(x))/log(float(n)));
i+=2;
temp=new char[i];
temp[i-1]=0;
for (int j=i-2;j>=0;j--)

temp[j]=x%n;
x/=n;
if (temp[j]>10)
temp[j]+=('A'-10);
else temp[j]+='0';

if (!temp[0]) temp++;
return temp;

int main()

long x;
int n;
cin>>x>>n;
cout<<DEC2N(x,n)<<endl;
参考技术B 这个应该满简单的吧。自己写吧

编写一个c ++函数,提示用户输入整数并将其转换为二进制并以相反的顺序打印[重复]

【中文标题】编写一个c ++函数,提示用户输入整数并将其转换为二进制并以相反的顺序打印[重复]【英文标题】:Write a c++ function that will prompt a user for an integer and convert it to binary and print in reverse order [duplicate] 【发布时间】:2020-05-10 03:28:24 【问题描述】:

这是我的代码,我的错误信息是“error C4716: 'decToBinary': must return a value” 基本上,我希望用户输入一个整数并让程序以相反的顺序返回二进制扩展。我该如何解决这个问题?谢谢!

【问题讨论】:

请将代码发布为文本,而不是图像。 你可以使用std::bitset 当您不想从函数中返回值时,请使用void cplusplus.com/doc/tutorial/functions/#void 【参考方案1】:

错误信息非常清楚:您声明您的函数将返回 int,但您从未这样做过。

【讨论】:

它被声明返回一个int而不是一个32个整数的数组。 @drescherjm 如何声明一个返回 32 个整数数组的函数? 目前,您的函数没有返回任何内容 也许std::array&lt;int,32&gt; 虽然std::string 可能是一个更好的选择,如果你不能使用std::bitset 来代替这个。

以上是关于C++编写一个程序,将用户输入的十进制整数转换成任意进制的数的主要内容,如果未能解决你的问题,请参考以下文章

在c++中编写一个程序实现进制转换。

c语言编写一个程序,将十进制整数n 转换成二进制数

ZZNUOJ_用C语言编写程序实现1141:进制转换(附完整源码)

程序设计:此程序功能将输入的十进制整数num(num<=65535)转换为二进制(双字节,16位)输出。

java语言编写一个程序,从键盘输入一个整数,将其转换为二进制数并输出 求大神帮忙

C++ 编写程序,输入两个数,输出两个数之间的所有数的二进制,三进制,和八进制?