進(jìn)制轉(zhuǎn)換代碼!十進(jìn)制轉(zhuǎn)二進(jìn)制到十五進(jìn)制~

目的-做一個(gè)程序,將輸入的十進(jìn)制數(shù)字轉(zhuǎn)化為二進(jìn)制到十五進(jìn)制中的任意形式

思路

  • 如要將一個(gè)十進(jìn)制的數(shù)字轉(zhuǎn)化為二進(jìn)制的數(shù),就是要不斷地除于2,將每一次的余數(shù)拿出來(lái),直到除到結(jié)果小于2,再將最后這個(gè)數(shù)拿出來(lái),將每一次的余數(shù)倒序輸出就為結(jié)果啦,其他進(jìn)制的數(shù)同理。
  • 每次除余拿出余數(shù)要設(shè)計(jì)一個(gè)循環(huán),倒序輸出需要一個(gè)方法,下面會(huì)介紹。

步驟

1. 接受用戶要選擇轉(zhuǎn)化為幾進(jìn)制

#include <stdio.h>

int main(){
        int num;
    printf("請(qǐng)輸入數(shù)字:");
    scanf("%d",&num);
    
    int jinzhi;
    
    printf("你要轉(zhuǎn)化為幾進(jìn)制的數(shù)字:"); 
    scanf("%d",&jinzhi);

2.倒序輸出的方法

例,將 00101 倒序輸出轉(zhuǎn)化為 10100
方法 :將00101其看成10100的個(gè)位是0十位是0百位是1千位是0萬(wàn)位是1,即 1x0 + 10x0 + 100x1 + 1000x0 + 10000x1 =10100

        int wei = 1;
    long long sum = 0;
    while(1){
        
        int yu = num % jinzhi;
        num = num / jinzhi;  
        
        //目前的總和:當(dāng)前位數(shù)的值 + 之前的值 
        sum = sum + yu * wei;//0 
        
        wei = wei * 10 ;//1*10 100 1000 
        
        if(num < jinzhi){
            sum = sum + num * wei;
            break;
        } 
    } 
    printf("%d\n", sum);
    return 0;
}

3.結(jié)束

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容