• <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://www.newhan.cn/zhishi/a/1702525081121347.html

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

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

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

            標簽:進制   函數   利用   字符串   轉換   任意   八進制
            留言與評論(共有 0 條評論)
               
            驗證碼:
            推薦文章
            排行榜
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實用文體寫作網旗下知識大全大全欄目是一個全百科類寶庫! 優秀范文|法律文書|專利查詢|
            主站蜘蛛池模板: 久久香蕉国产线看观看猫咪av | 国产国产午夜福利视频| 97久久超碰亚洲视觉盛宴| 国产suv精品一区二区四 | 亚洲禁精品一区二区三区| 欧洲熟妇熟女久久精品综合| 久久青草国产精品一区| 一本大道久久香蕉成人网| 亚洲综合久久一区二区三区| 毛茸茸性xxxx毛茸茸毛茸茸| 白丝乳交内射一二三区| 久久久噜噜噜久久久精品| 国产成人综合久久亚洲精品| 少妇激情一区二区三区视频小说| 无码中文字幕av免费放| 四虎永久免费精品视频| 国产av一区二区午夜福利| 国产精品视频一区二区三区无码| 国产一区二区视频在线| 亚洲丰满熟女一区二区蜜桃| 精品国产成人国产在线观看| 国产在线线精品宅男网址| 亚洲国产精品热久久| 人妻无码久久久久久久久久久| 日韩精品中文字幕人妻| 精品国产一区二区三区麻豆| 日本夜爽爽一区二区三区| 玩弄人妻少妇精品视频| 视频一区二区不中文字幕| 午夜福利精品一区二区三区| 亚洲国模精品一区二区| 亚洲欧美在线综合一区二区三区| 最近国语高清免费观看视频| 国产亚洲精品在av| 亚洲熟女乱综合一区二区| 久久精品国产99国产精品严洲| 开心五月婷婷综合网站| 男男欧美一区二区| 亚洲av天堂天天天堂色| 男女爽爽无遮挡午夜视频| 亚洲视频免费一区二区三区 |