首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【基础算法】C++经典练习题-进制转换

题目1:正整数N转换成一个二进制数题目描述

输入一个不大于32767的整数n,将它转换成一个二进制数。

输入格式

输入只有一行,包括一个整数n(0

输出格式

输出只有一行。

样例输入

100样例输出

1100100标程

#include

using namespace std;

int n,a[10000],k=0;

int main(){

? ?cin>>n;

? ?if(n==0){

? ? ? ?cout

? ? ? ?return 0;

? }

? ?while(n>0){

? k++;

? ? ? ?a[k]=n%2;

? ? ? ?n/=2;

? }

? ?for(int i=k;i>=1;i--){

? cout

}

? ?return 0;

}题目2:二进制转换十进制题目描述

请将一个25位以内的2进制正整数转换为10进制!

输入格式

一个25位以内的二进制正整数

输出格式

该数对应的十进制

样例输入样例输出标程

#include

using namespace std;

int sum=0;

char s[26];

int main(){

scanf("%s",s);

int i=0;

int len=strlen(s);

while(s[i]!='\0'){

sum+=(s[i]-'0')*pow(2,len-i-1);

i++;

}

cout

? ?return 0;

}题目3:正整数n转换为16进制题目描述

请从键盘读入一个非负整数n(n是一个不超过18位的正整数),将n转换为16进制!

注意:16进制即逢16进1,每一位上可以是从小到大为0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F共16个大小不同的数,即逢16进1,其中用A,B,C,D,E,F这六个字母来分别表示10,11,12,13,14,15。

如:60的十六进制为3C。(字母请用大写)

输入格式

一个不超过18位的非负整数n

输出格式

该数的十六进制值

样例输入样例输出

174876E800标程

#include

using namespace std;

char a[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};

char ans[10001];

long long ?n,j,i=0;

int main(){

? ?cin>>n;

? ?if(n==0){

? ? ? ?cout

? ? ? ?return 0;

? }

? ?while(n!=0){

? ? ? ?int t=n%16;

? ? ? ?n=n/16;

? ? ? ?ans[i++]=a[t];

? }

? ?for(j=i-1;j>=0;j--){

? ? ? ?cout

? }

? ?return 0;

}

爱编程? 玩科技? 懂教育

#征稿

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OCSeLic87NZJ0-VU0N-ESB2Q0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券
http://www.vxiaotou.com