C 語言實例 - 二進制與十進制相互轉換

實例 - 二進制轉換爲十進制

#include <stdio.h> #include <math.h>
 
int convertBinaryToDecimal(long long n); int main() { long long n; printf("輸入一個二進制數: "); scanf("%lld", &n); printf("二進制數 %lld 轉換爲十進制爲 %d", n, convertBinaryToDecimal(n)); return 0; } int convertBinaryToDecimal(long long n) { int decimalNumber = 0, i = 0, remainder; while (n!=0) { remainder = n%10; n /= 10; decimalNumber += remainder*pow(2,i); ++i; } return decimalNumber; }

輸出結果爲:spa

輸入一個二進制數: 110110111 二進制數 110110111 轉換爲十進制爲 439

實例 - 十進制轉換爲二進制

#include <stdio.h> #include <math.h>
 
long long convertDecimalToBinary(int n); int main() { int n; printf("輸入一個十進制數: "); scanf("%d", &n); printf("十進制數 %d 轉換爲二進制位 %lld", n, convertDecimalToBinary(n)); return 0; } long long convertDecimalToBinary(int n) { long long binaryNumber = 0; int remainder, i = 1, step = 1; while (n!=0) { remainder = n%2; printf("Step %d: %d/2, 餘數 = %d, 商 = %d\n", step++, n, remainder, n/2); n /= 2; binaryNumber += remainder*i; i *= 10; } return binaryNumber; }

輸出結果爲:code

輸入一個十進制數: 100 Step 1: 100/2, 餘數 = 0,  = 50 Step 2: 50/2, 餘數 = 0,  = 25 Step 3: 25/2, 餘數 = 1,  = 12 Step 4: 12/2, 餘數 = 0,  = 6 Step 5: 6/2, 餘數 = 0,  = 3 Step 6: 3/2, 餘數 = 1,  = 1 Step 7: 1/2, 餘數 = 1,  = 0 十進制數 100 轉換爲二進制位 1100100
相關文章
相關標籤/搜索