zoukankan      html  css  js  c++  java
  • 0063-二进制转换成十进制

    题目

    二进制转换成十进制
    难度级别: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;
    }
  • 相关阅读:
    Trapping Rain Water
    Construct Binary Tree from Preorder and Inorder Traversal
    Flatten Binary Tree to Linked List
    Permutations II
    Unique Paths II
    Path Sum II
    Unique Binary Search Trees II
    evdev module-----uinput.py
    evdev module-----events.py
    evdev module-----device.py
  • 原文地址:https://www.cnblogs.com/DARTH-VADER-EMPIRE/p/9736665.html
Copyright © 2011-2022 走看看