<form id="dlljd"></form>
        <address id="dlljd"><address id="dlljd"><listing id="dlljd"></listing></address></address>

        <em id="dlljd"><form id="dlljd"></form></em>

          <address id="dlljd"></address>
            <noframes id="dlljd">

              聯系我們 - 廣告服務 - 聯系電話:
              您的當前位置: > 關注 > > 正文

              天天百事通!二進制怎么轉八進制?二進制轉八進制的兩種方法

              來源:CSDN 時間:2023-02-28 10:26:23


              (資料圖片)

              解法一: #include#include#includeint main_5() { char arr[100];//定義一個二進制字符串數組 char newArr[100];//定義一個八進制字符串數組 int ch = 0;//一個和變量 gets_s(arr);//輸入二進制數據 int length = 0;//表示二進制數組的長度 int length_2 = 0;//表示八進制數組的長度 int times = 0;//將三個字符串分一組 多余的直接分一組 for (length = 0; arr[length] != ‘\0’; length++);//獲得二進制數據的長度 //二進制轉八進制 for (int i = length - 1; i >= 0; i–) { ch += (arr[i] - 48)(int)pow(2,times);//將字符減去48變成十進制 // 再乘二進制的對應次方 times++;//計數 if (times >= 3||i==0) {//一組超過了三個或者已經是最后一個 newArr[length_2] = ch+48;//將計算的值直接賦值進八進制數組 ch = 0;//和變量 置零 length_2++;//八進制數組的長度加一 times = 0;//計數變量清零 } } newArr[length_2] = ‘\0’;//八進制數組添加結束標記 //輸出八進制數據 for (int i = length_2 - 1; i >= 0; i–) { printf("%c", newArr[i]); } printf("(8)\n"); system(“pause”); return 0; } 解法二: #include#include#includeint main() { //將二進制數據轉化成十進制數據再轉化成八進制 char bin[20];//存二進制數據的字符數組 char newStr[20];//存放八進制數據的字符數組 gets_s(bin);//輸入數據 int sum = 0;//存放十進制數據 int length = 0;//二進制字符串的長度 for (; bin[length] != ‘\0’; length++);//獲得長度 int index = 0;//次方變量 length–;//讓length為最后一個字符的位置 while (length >= 0) {//待處理字符大于零時 sum += pow(2, index)(bin[length] - 48);//對二進制數據進行轉化 index++;//次方數加一 length–;//待處理字符數減一 } length = 0;//用來表示八進制數據長度 while (sum) { newStr[length] = sum % 8 + 48;//求余并且轉化成字符形式 length++;//八進制數據長度加一 sum /= 8;//和除8 } newStr[length] = ‘\0’;//添加字符串結束標記 for (index = length-1; index >= 0; index–) {//輸出八進制數據 printf("%c", newStr[index]); } printf("(8)\n"); system(“pause”); return 0; }

              責任編輯:

              標簽:

              相關推薦:

              精彩放送:

              新聞聚焦
              Top 中文字幕在线观看亚洲日韩