国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

藍橋杯- 基礎練習 十六進制轉十進制

2019-11-08 02:48:56
字體:
來源:轉載
供稿:網友

  基礎練習 十六進制轉十進制  時間限制:1.0s   內存限制:512.0MB      問題描述  從鍵盤輸入一個不超過8位的正的十六進制數字符串,將它轉換為正的十進制數后輸出。  注:十六進制數中的10~15分別用大寫的英文字母A、B、C、D、E、F表示。樣例輸入FFFF樣例輸出65535

得分:75,未完全正確請大家指正

#include<iostream>#include<string>#include <math.h>using namespace std;int main(){    string num2,num16;    int i,len,num=0;    //16進制轉換成二進制(字符串)    num2=num16="";    cin>>num16;    len=num16.length();    for(i=0; i<len; i++)    {        switch(num16[i])        {        case '0':            num2+="0000";            break;        case '1':            num2+="0001";            break;        case '2':            num2+="0010";            break;        case '3':            num2+="0011";            break;        case '4':            num2+="0100";            break;        case '5':            num2+="0101";            break;        case '6':            num2+="0110";            break;        case '7':            num2+="0111";            break;        case '8':            num2+="1000";            break;        case '9':            num2+="1001";            break;        case 'A':            num2+="1010";            break;        case 'B':            num2+="1011";            break;        case 'C':            num2+="1100";            break;        case 'D':            num2+="1101";            break;        case 'E':            num2+="1110";            break;        case 'F':            num2+="1111";            break;        case 'a':            num2+="1010";            break;        case 'b':            num2+="1011";            break;        case 'c':            num2+="1100";            break;        case 'd':            num2+="1101";            break;        case 'e':            num2+="1110";            break;        case 'f':            num2+="1111";            break;        default:            break;        }    }    // cout<<num2<<endl;//輸出二進制數    //二進制轉換成十進制    len=num2.length();    //cout<<len<<endl;    for(i=0; i<len; i=i+1)    {        //cout<<num2[i]<<" "<<num2[i+1]<<" "<<num2[i+2]<<endl;        if(num2[i]=='1')            num=num+pow(2,len-i-1);//程序要引用math.h文件,使用時pow(x,y)表示x的y次方。        //cout<<num<<endl;    }    cout<<num<<endl;    return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 民和| 英德市| 舒兰市| 托克托县| 河源市| 阳山县| 郑州市| 桂平市| 广丰县| 吐鲁番市| 汕头市| 朝阳市| 阿城市| 新民市| 监利县| 海盐县| 罗平县| 河池市| 广灵县| 日土县| 始兴县| 齐河县| 马边| 乐昌市| 湟源县| 江川县| 灵武市| 嵊泗县| 胶南市| 怀化市| 金阳县| 中阳县| 翼城县| 黄骅市| 中超| 台北县| 洛宁县| 青川县| 宁强县| 蒙城县| 若尔盖县|