C 語言基礎(chǔ)教程

C 語言流程控制

C 語言函數(shù)

C 語言數(shù)組

C 語言指針

C 語言字符串

C 語言結(jié)構(gòu)體

C 語言文件

C 其他

C 語言參考手冊

C程序?qū)崿F(xiàn)二進制與八進制相互轉(zhuǎn)換

C 語言編程實例大全

在此示例中,您將學(xué)習(xí)通過創(chuàng)建用戶定義的函數(shù)來將二進制數(shù)手動轉(zhuǎn)換為八進制,八進制數(shù)手動轉(zhuǎn)換為二進制。

要理解此示例,您應(yīng)該了解以下C語言編程主題:

將二進制轉(zhuǎn)換為八進制的程序

在此程序中,我們將首先將二進制數(shù)字轉(zhuǎn)換為十進制。然后,十進制數(shù)字轉(zhuǎn)換為八進制。

#include <math.h>
#include <stdio.h>
int convert(long long bin);
int main() {
    long long bin;
    printf("輸入二進制數(shù): ");
    scanf("%lld", &bin);
    printf("%lld(二進制)= %d(八進制)", bin, convert(bin));
    return 0;
}

int convert(long long bin) {
    int oct = 0, dec = 0, i = 0;

    //將二進制轉(zhuǎn)換為十進制
    while (bin != 0) {
        dec += (bin % 10) * pow(2, i);
        ++i;
        bin /= 10;
    }
    i = 1;

    //從十進制到八進制的轉(zhuǎn)換
    while (dec != 0) {
        oct += (dec % 8) * i;
        dec /= 8;
        i *= 10;
    }
    return oct;
}

輸出結(jié)果

輸入二進制數(shù): 101001
101001(二進制)= 51(八進制)

將八進制轉(zhuǎn)換為二進制的程序

在此程序中,八進制數(shù)首先會轉(zhuǎn)換為十進制。然后,將十進制數(shù)轉(zhuǎn)換為二進制數(shù)。

#include <math.h>
#include <stdio.h>
long long convert(int oct);
int main() {
    int oct;
    printf("輸入八進制數(shù)字: ");
    scanf("%d", &oct);
    printf("%d(八進制) =%lld(二進制)", oct, convert(oct));
    return 0;
}

long long convert(int oct) {
    int dec = 0, i = 0;
    long long bin = 0;

    // 將八進制轉(zhuǎn)換為十進制
    while (oct != 0) {
        dec += (oct % 10) * pow(8, i);
        ++i;
        oct /= 10;
    }
    i = 1;

   // 將十進制轉(zhuǎn)換為二進制
    while (dec != 0) {
        bin += (dec % 2) * i;
        dec /= 2;
        i *= 10;
    }
    return bin;
}

輸出結(jié)果

輸入八進制數(shù)字: 51
51(八進制) =101001(二進制)

C 語言編程實例大全

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清