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