标签:要求 center bsp puts idt 运行时 style 基本知识 width
| 二进制转换成十进制 |
| 难度级别:A; 运行时间限制:1000ms; 运行空间限制:51200KB; 代码长度限制:2000000B |
|
试题描述
|
|
给定一个不超过 10 位的二进制数 n,将其转换成十进制数后输出。 |
|
输入
|
|
一个符合规范的二进制的数。
|
|
输出
|
|
一个数,符合题目要求的结果。
|
|
输入示例
|
|
1000100
|
|
输出示例
|
|
68
|
此题考查大家对数学基本知识的了解程度。从二进制转换为十进制的方法为:从右往左数第n位乘2的n次方。
通过while循环(即满足括号里条件是执行操作)进行当n不为零(即未转换完成)时完成一步操作来达到转换的目的。
了解了这个就好办了。
代码:
#include<bits/stdc++.h>
using namespace std;
int n,x=1,ans;//x初始值赋-1,当做指数。
int main()
{
scanf("%d",&n);
while(n)//按转换公式计算。
{
ans+=n%10*x;//当前末位的x次方(详见上文转换方法)。
x*=2;//指数增大。
n/=10;//除去刚刚的末位。
}
printf("%d",ans);
return 0;
}
标签:要求 center bsp puts idt 运行时 style 基本知识 width
原文地址:https://www.cnblogs.com/DARTH-VADER-EMPIRE/p/9736665.html