二进制转换成十进制 |
难度级别: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; }
原文地址:https://www.cnblogs.com/DARTH-VADER-EMPIRE/p/9736665.html
时间: 2024-10-09 17:55:52