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<int,32>
虽然std::string
可能是一个更好的选择,如果你不能使用std::bitset
来代替这个。以上是关于C++编写一个程序,将用户输入的十进制整数转换成任意进制的数的主要内容,如果未能解决你的问题,请参考以下文章
ZZNUOJ_用C语言编写程序实现1141:进制转换(附完整源码)
程序设计:此程序功能将输入的十进制整数num(num<=65535)转换为二进制(双字节,16位)输出。