一区二区三区电影_国产伦精品一区二区三区视频免费_亚洲欧美国产精品va在线观看_国产精品一二三四

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

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

來源: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 主站蜘蛛池模板: 保山市| 靖州| 兴国县| 讷河市| 邢台市| 香港 | 安吉县| 寿宁县| 旬阳县| 榆林市| 阿合奇县| 前郭尔| 大姚县| 荆门市| 兖州市| 武冈市| 敦化市| 无极县| 平顶山市| 砀山县| 成安县| 铜鼓县| 都江堰市| 双桥区| 金川县| 六枝特区| 泽州县| 沛县| 大同市| 石嘴山市| 仪征市| 垫江县| 儋州市| 鲜城| 江陵县| 兴和县| 静安区| 通海县| 石家庄市| 集贤县| 永顺县|