C 語言實例 – 八進制與二進制相互轉換
C 語言實例 - 八進制與二進制相互轉換
八進制與二進制相互轉換。
實例 - 二進制轉換為八進制
#include <stdio.h>
#include <math.h>
int convertBinarytoOctal(long long binaryNumber);
int main()
{
long long binaryNumber;
printf("輸入一個二進制數(shù): ");
scanf("%lld", &binaryNumber);
printf("二進制數(shù) %lld 轉換為八進制為 %d", binaryNumber, convertBinarytoOctal(binaryNumber));
return 0;
}
int convertBinarytoOctal(long long binaryNumber)
{
int octalNumber = 0, decimalNumber = 0, i = 0;
while(binaryNumber != 0)
{
decimalNumber += (binaryNumber%10) * pow(2,i);
++i;
binaryNumber/=10;
}
i = 1;
while (decimalNumber != 0)
{
octalNumber += (decimalNumber % 8) * i;
decimalNumber /= 8;
i *= 10;
}
return octalNumber;
}
輸出結果為:
輸入一個二進制數(shù): 101001 二進制數(shù) 101001 轉換為八進制為 51
實例 - 八進制轉換為二進制
#include <stdio.h>
#include <math.h>
long long convertOctalToBinary(int octalNumber);
int main()
{
int octalNumber;
printf("輸入一個八進制數(shù): ");
scanf("%d", &octalNumber);
printf("八進制數(shù) %d 轉二進制為 %lld", octalNumber, convertOctalToBinary(octalNumber));
return 0;
}
long long convertOctalToBinary(int octalNumber)
{
int decimalNumber = 0, i = 0;
long long binaryNumber = 0;
while(octalNumber != 0)
{
decimalNumber += (octalNumber%10) * pow(8,i);
++i;
octalNumber/=10;
}
i = 1;
while (decimalNumber != 0)
{
binaryNumber += (decimalNumber % 2) * i;
decimalNumber /= 2;
i *= 10;
}
return binaryNumber;
}
輸出結果為:
輸入一個八進制數(shù): 51 八進制數(shù) 51 轉二進制為 101001
相關文章
- C語言形參和實參有什么區(qū)別
- 淺析c++函數(shù)參數(shù)和返回值
- 一文詳解C++智能指針的原理、分類及使用
- C++中的可移植性和跨平臺開發(fā)教程詳解
- C++中的字符串編碼處理方法
- C語言完數(shù)的實現(xiàn)示例
- C語言中pthread_exit()函數(shù)實現(xiàn)終止線程
- ASP.NET Core快速入門之環(huán)境篇
- 如何使用簽名保證ASP.NET MVC OR WEBAPI的接口安全
- .net數(shù)據(jù)庫操作框架SqlSugar的簡單入門
- .NET RulesEngine(規(guī)則引擎)的使用詳解
- asp.net core MVC之實現(xiàn)基于token的認證
- 如何在 .NET 中使用 Flurl 高效處理Http請求
- .NET學習筆記之默認依賴注入
- .NET之生成數(shù)據(jù)庫全流程實現(xiàn)
- .Net集成敏感詞組件的步驟
- .Net Core導入千萬級數(shù)據(jù)至Mysql數(shù)據(jù)庫的實現(xiàn)方法
- .Net的GC垃圾回收原理及實現(xiàn)
- ASP.NET Core 文件響應壓縮的常見使用誤區(qū)
- asp.net core為IHttpClientFactory添加動態(tài)命名配置