欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言實現(xiàn)十進制轉(zhuǎn)任意進制的代碼詳解

 更新時間:2024年05月31日 11:52:06   作者:ConFig.  
這篇文章主要介紹了C語言實現(xiàn)十進制轉(zhuǎn)任意進制,運用一個數(shù)組,通過數(shù)字每次取任意進制模,存在數(shù)組中, 再通過倒取數(shù)組中的數(shù)值,來實現(xiàn)進制轉(zhuǎn)換,如果遇到十六進制,利用ASCII碼值  數(shù)字字符和大寫字母 相差55的特性來解決,文中有詳細代碼示例,需要的朋友可以參考下

主要思路:運用一個數(shù)組,通過數(shù)字每次取任意進制模,存在數(shù)組中, 再通過倒取數(shù)組中的數(shù)值,來實現(xiàn)進制轉(zhuǎn)換,如果遇到十六進制,利用ASCII碼值  數(shù)字字符和大寫字母 相差55的特性來解決

 
int main()
{
	int a[50];//把取模的值放到數(shù)組中1
	int i = 0;
	int num,k;
	printf("選擇你要轉(zhuǎn)換的進制\n");
	scanf("%d", &k);
	printf("請輸入一個數(shù)字\n");
	scanf("%d", &num);//輸入一個數(shù)字
	int prenum = num;
	if (num > 0)
	{
		while (num != 0)
		{
			a[i] = num % k;
			num = num / k;
			i++;
		}
		printf("%d的%d進制為", prenum, k);
		for (i -= 1; i >= 0; i--)//倒序輸出數(shù)組中的數(shù)字
		{
			if (a[i] >= 0 && a[i] <= 9)//如果是正常數(shù)字 則輸出
				printf("%d", a[i]);
			else//如果是大于9的則用字母ABCDEF來代替
			{
				printf("%c", a[i] + 55);
			}
		}
	}
	else
	{
		printf("%d的%d進制為0", prenum, k);
	}
	return 0;
}
int main()
{
    int i = 0;
    int m, k;
    int a[20];
	printf("請輸入要轉(zhuǎn)化的數(shù)字:");
	scanf("%d", &m);
	printf("請輸入要轉(zhuǎn)化的進制數(shù):");
	scanf("%d", &k);
	if (m > 0)
	{
        for (i = 0; m != 0; i++)//每次取模都放在數(shù)組中
        {
            a[i] = m % k;
            m = m / k;
        }
        int j = 0;
        for (j = i - 1; j >= 0; j--)//倒著取數(shù)組中的數(shù) 
        {
            switch (a[j])//十六進制處理
            {
            case 10:
                printf("A");
                break;
            case 11:
                printf("B");
                break;
            case 12:
                printf("C");
                break;
            case 13:
                printf("D");
                break;
            case 14:
                printf("E");
                break;
            case 15:
                printf("F");
                break;
            default://小于十的數(shù)整除輸出
                printf("%d", a[j]);
            }
        }
	}
	else
	{
        printf("0\n");
	}
    return 0;
}

拓展:

十進制轉(zhuǎn)換為二進制

運行圖:

 源代碼:

#include <stdio.h>
/*10進制轉(zhuǎn)換為2進制*/
void conversion(int a)
{
	int chu, yu;
	chu=a/2;
	yu=a%2;
	if(chu==0)
	{
		printf("%d",yu);
	}
    else
    {
    	conversion(chu);
    	printf("%d",yu);
	}
}
int main(void)
{
	int x;
	printf("請輸入10進制數(shù):");
	scanf("%d",&x);
	printf("轉(zhuǎn)化后的2進制為:");
	conversion(x);
    return 0;
}

十進制轉(zhuǎn)換為八進制

運行圖:

源代碼:

#include <stdio.h>
/*10進制轉(zhuǎn)換為8進制*/
void conversion(int a)
{
	int chu, yu;
	chu=a/8;
	yu=a%8;
	if(chu==0)
	{
		printf("%d",yu);
	}
    else
    {
    	conversion(chu);
    	printf("%d",yu);
	}
}
int main(void)
{
	int x;
	printf("請輸入10進制數(shù):");
	scanf("%d",&x);
	printf("轉(zhuǎn)化后的8進制為:");
	conversion(x);
    return 0;
}

十進制轉(zhuǎn)換為十六進制

運行圖:

源代碼:

#include <stdio.h>
/*10進制轉(zhuǎn)換為16進制*/
int sum(unsigned a,char buf[])
{
	int chu, yu;
	chu=a/16;
	yu=a%16;
	if(chu==0)
	{
		printf("%c",buf[yu]);
	}
    else
    {
    	sum(chu,buf);
    	printf("%c",buf[yu]);
	}
}
int main(void)
{
	int a;
	char buf[16]="0123456789ABCDEF";
	printf("請輸入10進制數(shù):");
	scanf("%d",&a);
	printf("轉(zhuǎn)化后的16制數(shù)為:");
	sum(a,buf);
    return 0;
}

到此這篇關(guān)于C語言實現(xiàn)十進制轉(zhuǎn)任意進制的代碼詳解的文章就介紹到這了,更多相關(guān)C語言十進制轉(zhuǎn)任意進制內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++ 數(shù)據(jù)結(jié)構(gòu)實現(xiàn)兩個棧實現(xiàn)一個隊列

    C++ 數(shù)據(jù)結(jié)構(gòu)實現(xiàn)兩個棧實現(xiàn)一個隊列

    這篇文章主要介紹了詳解C++ 數(shù)據(jù)結(jié)構(gòu)實現(xiàn)兩個棧實現(xiàn)一個隊列的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • C語言 奇偶排序算法詳解及實例代碼

    C語言 奇偶排序算法詳解及實例代碼

    這篇文章主要介紹了C語言 奇偶排序算法詳解及實例代碼的相關(guān)資料,需要的朋友可以參考下
    2016-11-11
  • C語言詳細講解strcpy strcat strcmp函數(shù)的模擬實現(xiàn)

    C語言詳細講解strcpy strcat strcmp函數(shù)的模擬實現(xiàn)

    這篇文章主要介紹了怎樣用C語言模擬實現(xiàn)strcpy與strcat和strcmp函數(shù),strcpy()函數(shù)是C語言中的一個復(fù)制字符串的庫函數(shù),strcat()函數(shù)的功能是實現(xiàn)字符串的拼接,strcmp()函數(shù)作用是比較字符串str1和str2是否相同
    2022-05-05
  • C++ 實現(xiàn)PE文件特征碼識別的步驟

    C++ 實現(xiàn)PE文件特征碼識別的步驟

    PE文件就是我們常說的EXE可執(zhí)行文件,針對文件特征的識別可以清晰的知道該程序是使用何種編程語言實現(xiàn)的,前提是要有特征庫,PE特征識別有多種形式,第一種是靜態(tài)識別,第二種則是動態(tài)識別,我們經(jīng)常使用的PEID查殼工具是基于靜態(tài)檢測的方法。
    2021-06-06
  • C++ 實現(xiàn)帶監(jiān)視哨的順序查找算法

    C++ 實現(xiàn)帶監(jiān)視哨的順序查找算法

    這篇文章主要介紹了C++ 實現(xiàn)帶監(jiān)視哨的順序查找算法,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • C語言實現(xiàn)學(xué)生選課系統(tǒng)完整版

    C語言實現(xiàn)學(xué)生選課系統(tǒng)完整版

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)學(xué)生選課系統(tǒng)的完整版,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • C語言字符串函數(shù)介紹與模擬實現(xiàn)詳解

    C語言字符串函數(shù)介紹與模擬實現(xiàn)詳解

    字符串函數(shù)(String?processing?function)也叫字符串處理函數(shù),指的是編程語言中用來進行字符串處理的函數(shù),如C,pascal,Visual以及LotusScript中進行字符串拷貝,計算長度,字符查找等的函數(shù)
    2022-02-02
  • C語言選擇、循環(huán)、函數(shù)、數(shù)組與操作符

    C語言選擇、循環(huán)、函數(shù)、數(shù)組與操作符

    這篇文章主要介紹了C語言選擇、循環(huán)、函數(shù)、數(shù)組與操作符,文章基于C語言展開對主題的詳細介紹,下文內(nèi)容需要的小伙伴可以參考一下
    2022-04-04
  • Windows上CLion的配置步驟詳解

    Windows上CLion的配置步驟詳解

    這篇文章主要介紹了Windows上CLion的配置,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • 利用C語言實現(xiàn)HashTable

    利用C語言實現(xiàn)HashTable

    根據(jù)KEY從hashtable中獲取接點,步驟是先根據(jù)KEY計算hash值,然后從hashtable中找到指定的接點或者接點鏈表
    2013-09-09

最新評論