• <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

            cc++進制轉換方法匯總(含全部代碼)

            更新時間:2023-12-14 11:38:02 閱讀: 評論:0

            2023年12月14日發(作者:我感恩)

            -

            cc++進制轉換方法匯總(含全部代碼)

            cc++進制轉換方法匯總(含全部代碼)

            進制轉換方法匯總表

            原進制

            十進制

            十進制

            十進制

            十進制

            二進制

            二進制

            二進制

            八進制

            八進制

            八進制

            十六進制

            十六進制

            十六進制

            轉換進制

            二進制

            八進制

            十六進制

            其他進制

            八進制

            十進制

            十六進制

            二進制

            十進制

            十六進制

            二進制

            八進制

            十進制

            方法1

            bitt指定格式輸出

            oct/%o指定格式輸出

            hex/%x指定格式輸出

            三位一組

            按權展開

            四位一組

            一位換三

            按權展開

            一位換四

            按權展開

            方法2

            方法3

            除留余數法

            除留余數法

            除留余數法

            除留余數法

            除留余數法

            除留余數法

            方法4

            itoa

            itoa

            itoa

            itoa

            strtol

            strtol

            strtol

            基本操作函數:

            Atoi(string &S, int R) 任意進制轉十進制(All Radix to Int) 參數:任意進制字符串 進制R 作用:利用按權展開加和,返回十進制

            Itoa(int Num,int R) 十進制轉任意進制(Int to All Radix)參數:十進制數Num,進制R 作用:利用除留余數法,返回逆序的余數,即返回

            所要轉換的進制數

            功能實現函數:

            ToAll() 十進制轉任意進制 調用函數Itoa,自帶的itoa

            ToDecimal(string &S) 任意進制轉十進制函數 調用Atoi函數,strtol函數

            ZhiDing() 作用:利用std的hex dec 以及 bitt,c語言的%o,%x

            Stream() 作用:利用sstream頭文件將數按某進制讀入流,輸出流

            1.任意進制轉十進制

            【分析】按權展開,求和即可。例如,二進制數110,即4+2+0=6;另外,不想自己寫的話,有函數(百度百科)。

            long int strtol(const char *nptr,char **endptr,int ba);參數:字符串,非法字符指針,字符串中的進制

            考慮的很詳細,字符串中含有非法的字符(,.*等)時還能停止轉換,并返回指針。

            2.十進制轉任意進制

            【分析】除留余數法,逆序輸出余數即可。另外,如果自己不想寫的話,有函數。

            string itoa(int x,char *string,int jz);參數:想要轉換的數,轉換結果字符串,轉換結果的進制

            3.指定格式與流

            【分析】主要是八進制、十進制和十六進制。對c來說是%o%d,%x;對c++來說是oct,dec,hex。作者感覺所謂的指定格式是輸入輸出

            流,sstream的stringstream類是字符串流,本質上應該是差不多的,就寫在了一起。學的不深,沒有看標準庫中類的源代碼,請大神指

            點。

            4.二、八、十六之間的轉換

            【分析】表格里面的一位換四,三位一組之類的是指通過二進制。例如,二進制與八進制進行轉換,二進制的110就是八進制的6。反過

            來,八進制轉為二進制,只需要一位轉換為三位,6換為110即可。由于也不多,大家都很熟悉,沒必要用除留余數法,可以自己寫個映射

            之類的。至于八進制與十六進制的轉換,可以利用二進制或十進制作為跳板。(這個代碼里面沒有,讀者可以嘗試寫一下)

            5.全部代碼

            /*

            Project: 進制轉換(Radix)

            Date: 2019/02/24

            Author: Frank Yu

            基本操作函數:

            Atoi(string &S, int R) 任意進制轉十進制(All Radix to Int) 參數:任意進制字符串 進制R 作用:利用按權展開加和,返回十進制

            Itoa(int Num,int R) 十進制轉任意進制(Int to All Radix)參數:十進制數Num,進制R 作用:利用除留余數法,返回逆序的余數,即返回所要轉換的進制數

            功能實現函數:

            ToAll() 十進制轉任意進制 調用函數Itoa

            ToDecimal(string &S) 任意進制轉十進制函數 調用Atoi函數,strtol函數

            ZhiDing() 作用:利用std的hex dec 以及 bitt,c語言的%o,%x

            Stream() 作用:利用sstream頭文件將數按某進制讀入流,輸出流

            */

            #include

            #include

            #include

            #include

            #include

            #include

            #include

            #include

            #include

            #include

            #include

            #include

            #include

            #include

            using namespace std;

            #define Max 100

            //進制權值

            int power(int R,int turn)

            {

            int ans = 1;

            while (turn--)

            {

            ans = ans*R;

            }

            return ans;

            }

            //**************************************基本操作函數**********************************//

            //任意進制轉十進制(All Radix to Int) 參數:任意進制字符串 進制R 作用:利用按權展開加和,返回十進制

            long int Atoi(string &S, int R)

            {

            long int ans = 0;

            for (int i=0;i < ();i++)//按權展開

            {

            ans += (S[i] - '0') * power(R, () - i - 1);

            }

            /* 網上代碼 不理解(已了解,舉例,十六進制時t可能為f,那么f-'a'=5,再加10就是15了)

            int ans=0;

            for (int i = 0;i<();i++)

            {

            char t = s[i];

            if (t >= '0'&&t <= '9') ans = ans*radix + t - '0';

            el ans = ans*radix + t - 'a' + 10;

            }*/

            return ans;

            }

            }

            //十進制轉任意進制(Int to All Radix)參數:十進制數Num,進制R 作用:利用除留余數法,返回逆序的余數,即返回所要轉換的進制數

            string Itoa(int Num,int R)

            {

            string remain="";

            int temp;

            do {

            temp = Num%R;//取余

            Num /= R;

            if (temp >= 10)

            remain += temp - 10 + 'A';//任意進制為大于基數大于10的進制 例如,十六進制

            el remain += temp + '0';

            } while (Num);

            rever((),());//逆序

            return remain;

            }

            //**************************************功能實現函數**********************************//

            //菜單

            void menu()

            {

            cout << "************1.十進制轉任意進制(除留余數) 2.任意進制轉為十進制(按權展開)****" << endl;

            cout << "************3.十進制指定格式輸出(二、八、十六) 4.利用流****************************" << endl;

            cout << "************5.退出" << endl;

            }

            void menu1()

            {

            cout << "************1.十進制轉二進制 2.十進制轉八進制****" << endl;

            cout << "************3.十進制轉十六進制 4.退出**************" << endl;

            }

            void menu2()

            {

            cout << "************1.十進制轉八進制 2.十進制轉十六進制**************" << endl;

            cout << "************3.八進制轉十進制 4.十六進制轉十進制**************" << endl;

            cout << "************5.退出" << endl;

            }

            //十進制轉任意進制 調用函數Itoa,自帶的itoa

            void ToAll()

            {

            int num, R;char str[Max];

            cout << "請輸入數和進制:" << endl;

            cin >> num >> R;

            cout << num << "轉換為"<

            cout << "利用itoa函數:" <

            }

            //任意進制轉十進制函數 調用Atoi函數,strtol函數

            void ToDecimal(string &S)

            {

            int R;

            cout << "請輸入數和進制:" << endl;

            cin >>S>>R;

            cout <

            //利用strtol函數 long int strtol(const char *nptr,char **endptr,int ba)

            //參數,字符串,非法字符指針,字符串中的進制

            char nptr[Max],*stop;

            strcpy(nptr,S.c_str());//string類型轉換為char

            cout<

            }

            //作用:利用std的hex dec 以及 bitt,c語言的%o,%x

            void ZhiDing()

            {

            int num;int choice = 0;

            cout << "請輸入十進制數:" << endl;

            cin >> num;

            while (1)

            {

            menu1();

            printf("請輸入菜單序號:n");

            scanf("%d", &choice);

            if (4 == choice) break;

            switch (choice)

            {

            ca 1:cout << num <<"轉為二進制(利用bitt):"<(num)<

            ca 2: {

            cout << num << "轉為八進制(利用oct):" << oct << num << endl;

            printf("轉為八進制(利用o):%on",num);//8位,高位補0

            }break;

            ca 3: {

            cout << num << "轉為十六進制:" << hex << num << endl;

            printf("轉為十六進制(利用x):%xn", num);

            }break;

            default:printf("輸入錯誤n");break;

            }

            }

            }

            //作用:利用sstream頭文件將數按某進制讀入流,輸出流

            void Stream()

            {

            string s;int choice = 0;

            stringstream ss;int num;

            while (1)

            {

            menu2();

            printf("請輸入菜單序號:n");

            scanf("%d", &choice);

            if (5 == choice) break;

            switch (choice)

            {

            ca 1: {

            cout << "請輸入一個數:" << endl;

            cin >> num;

            ();//清空一下,防止出錯

            ss << oct << num;//十進制轉為八進制讀入流中

            ss >> s;//轉換的八進制數放入字符串s中

            cout << num << "轉為八進制(利用流):" << s << endl;

            }break;

            ca 2: {

            cout << "請輸入一個數:" << endl;

            cin >> num;

            ();//清空一下,防止出錯

            ss << hex << num;//十進制轉為十六進制讀入流中

            ss >> s;//轉換的十六進制數放入字符串s中

            cout << num << "轉為十六進制(利用流):" << s << endl;

            }break;

            ca 3: {

            cout << "請輸入一個數:" << endl;

            cin >> s;

            ();//清空一下,防止出錯

            ss << oct << s;//將s以八進制形式讀入流中

            ss >> num;//以十進制輸入到num中

            cout << s << "轉為十進制(利用流):" << num << endl;

            }break;

            ca 4: {

            cout << "請輸入一個數:" << endl;

            cin >> s;

            ();//清空一下,防止出錯

            ss << hex << s;//將s以八進制形式讀入流中

            ss >> num;//以十進制輸入到num中

            cout << s << "轉為十進制(利用流):" << num << endl;

            }break;

            default:printf("輸入錯誤n");break;

            }

            }

            }

            //主函數

            int main()

            {

            int choice = 0;

            string S;

            while (1)

            {

            menu();

            printf("請輸入菜單序號:n");

            scanf("%d", &choice);

            if (5 == choice) break;

            switch (choice)

            {

            ca 1:ToAll();break;

            ca 2:ToDecimal(S);break;

            ca 3:ZhiDing();break;

            ca 4:Stream();break;

            default:printf("輸入錯誤n");break;

            }

            }

            return 0;

            }

            更多數據結構與算法實現:

            有問題請下方評論,轉載請注明出處,并附有原文鏈接,謝謝!如有侵權,請及時聯系。

            -

            cc++進制轉換方法匯總(含全部代碼)

            本文發布于:2023-12-14 11:38:01,感謝您對本站的認可!

            本文鏈接:http://m.newhan.cn/zhishi/a/1702525081121347.html

            版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。

            本文word下載地址:cc++進制轉換方法匯總(含全部代碼).doc

            本文 PDF 下載地址:cc++進制轉換方法匯總(含全部代碼).pdf

            標簽:進制   函數   利用   字符串   轉換   任意   八進制
            留言與評論(共有 0 條評論)
               
            驗證碼:
            推薦文章
            排行榜
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實用文體寫作網旗下知識大全大全欄目是一個全百科類寶庫! 優秀范文|法律文書|專利查詢|
            主站蜘蛛池模板: 国产综合久久久久鬼色| 日本aaaaa片特黄aaaa| 成人国产一区二区三区精品| 日韩中文字幕免费在线观看| 亚洲a人片在线观看网址| 久久综合九色综合欧洲98| 精品国产91久久综合| 在线观看国产成人av天堂| 亚洲综合一区二区国产精品| 亚洲人成网77777香蕉| 国产精品欧美福利久久| 日韩亚洲国产综合高清| 国产精品一区在线蜜臀| 国产偷窥厕所一区二区| 午夜AAAAA级岛国福利在线| 一区二区不卡99精品日韩| AV极品无码专区亚洲AV| 免费视频好湿好紧好大好爽| 国产精品成人免费视频网站| 狠狠躁天天躁中文字幕无码| 91精品国产一二三产区| 97视频精品全国免费观看| 日韩激情成人| 50岁人妻丰满熟妇αv无码区| 国产AV永久无码青青草原| 漂亮的人妻不敢呻吟被中出| 99riav国产精品视频| 部精品久久久久久久久| 丁香五月亚洲综合在线国内自拍| 九九热精彩视频在线免费| 亚洲嫩模喷白浆在线观看| 国产不卡精品视频男人的天堂| 一区二区三区四区亚洲自拍| 伊人久久精品亚洲午夜| 亚洲国产码专区在线观看| 成人片在线看无码不卡| 亚洲一区二区中文av| 无码伊人久久大杳蕉中文无码| 视频精品亚洲一区二区| 67194熟妇在线直接进入| 色综合久久久无码中文字幕波多|