當前位置:首頁 » 編程語言 » c語言十進制轉十六進制函數

c語言十進制轉十六進制函數

發布時間: 2023-02-25 23:03:26

❶ 在c語言中如何將10進制轉換成16進制

根據10進制轉換為16進制的規則,編寫C語言程序將10進制數轉換為16進制數。


具體實現方法可參考如下程序:

#include<stdio.h>
voidmain()
{
inti,x;//x表示欲轉換的10進制數
intdata[10],index=0;//data數組存放轉換後的16進制數,index表示下標
scanf("%d",&x);//接受欲轉換的10進制數
for(i=0;i<10;i++)//對數組data進行初始賦值操作
data[i]=0;
printf("%d對應的16進制為:",x);
//反復相除取余,並將余數存放在data數組中
while(x>0)
{
data[index]=x%16;
x=x/16;
index++;
}
//逆序輸出data數組中的元素,即為10進制數對應的16進制數
for(i=index-1;i>=0;i--)
printf("%d",data[i]);
printf(" ");
}

❷ C語言十進制轉十六進制

其實根本不用這個的,輸出函數printf有X是代表輸出16進制的數,可以直接調用,那樣就能將10進制變成16進制!例如:
#include <stdio.h>
main ()
{
int a;
scanf ("%d",&a);
printf ("%X",a);
}

❸ 用c語言編寫函數,將輸入的十進制數轉換成十六進制數並輸出

//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
intmain(void){
unsignedn,i,k;
printf("Pleaseenterapositiveinteger... n=");
scanf("%d",&n);
printf("%d(10)=0x",n);
if(n){
for(i=0;(n&0xf0000000)==0;n<<=4,i++);
for(;i<8;i++){
k=n&0xf0000000;
(k>>=28)&=0x0f;
printf("%c",k<10?k+'0':k+0x37);
n<<=4;
}
}
elseprintf("0");
printf(" ");
return0;
}

❹ c語言十進制轉化為十六進制

十進制轉化為十六進制代碼:

#include"stdio.h"intmain()

{

intnum=0;

inta[100];

inti=0;

intm=0;

intyushu;

charhex[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};

printf("請輸入一個十進制數:");

scanf("%d",&num);while(num>0){yushu=num%16;

a[i++]=yushu;

num=num/16;

}printf("轉化為十六進制的數為:0x");for(i=i-1;i>=0;i--)//倒序輸出{m=a[i];

printf("%c",hex[m]);}printf(" ");

}

程序運行結果:

(4)c語言十進制轉十六進制函數擴展閱讀:

進制轉換由一組數碼符號和兩個基本因素「基數」與「位權」構成。基數是指,進位計數制中所採用的數碼(數制中用來表示「量」的符號)的個數。位權是指,進位制中每一固定位置對應的單位值。

舉例:二進制數轉換為十進制數

二進制數第0位的權值是2的0次方,第1位的權值是2的1次方……

所以,設有一個二進制數:0110 0100,轉換為10進制為:

下面是豎式:

0110 0100 換算成十進制

第0位 0 * 20= 0

第1位 0 * 21= 0

第2位 1 * 22= 4

第3位 0 * 23= 0

第4位 0 * 24= 0

第5位 1 * 25= 32

第6位 1 * 26= 64

第7位 0 * 27= 0

公式:第N位2(N)

---------------------------

100

用橫式計算為:

0 * 20+ 0 * 21+ 1 * 22+ 0 * 23+ 0 * 24+ 1 * 25+ 1* 26+ 0 * 27= 100

0乘以多少都是0,所以我們也可以直接跳過值為0的位:

1 * 22+ 1 * 25+1*26= 100

❺ C語言十進制轉十六進制數

C語言十進制轉十六進制數的源代碼如下:

#include<bits/stdc++.h>

using namespace std;

void IntZh0x(int n)

{int s=n%16;

if(n/16!=0) IntZh0x(n/16);

if(s>9)

{

if(s==15) cout<<"F";

else if(s==14) cout<<"E";

else if(s==13) cout<<"D";

else if(s==12) cout<<"C";

else if(s==11) cout<<"B";

else if(s==10) cout<<"A";

}

else cout<<s;

}

int main(){

int n;

cin>>n;

IntZh0x(n);

return 0;

}

(5)c語言十進制轉十六進制函數擴展閱讀

1、十六進制數轉換成十進制數解,其值為各個位碼乘以位權然後完全相加。

2、十六進制就是把 4 個二進制位組合為一位來表示,每一位有0b0000 ~ 0b1111 共 16 個值,用 0 ~ 9 再加上 A ~ F(或 a ~ f)表示,那麼它自然就是逢十六進位,它本質上同二進制是一樣的,是二進制的一種縮寫形式。

❻ 用C語言如何把十進制轉換為十六進制,要求程序中運用函數

**
程序功能:求二進制,十進制,八進制
創建人:蒲宇林
創建日期:2007年8月13日
**/
#include

void
two();
void
eight();
void
sixteen();
/**主函數**/
void
main()
{
int
select;
do
{
printf("0
-
退出,1
-
十進制轉二進制,2
-
十進制轉八進制,3
-
十進制轉十六進制");
scanf("%d",&select);
switch(select)
{
case
1
:
two();
break;
//十進制轉二進制
case
2
:
eight();
break;
//十進制轉八進制
case
3
:
sixteen();
break;
//十進制轉十六進制
default
:
printf("您的輸入有誤,請重新輸入!");
break;
}
if(select
==
0)
{
break;
}
}while(1);
}
void
two()
{
int
num,
i;
int
arr[20];
printf("\n請輸入一個十進制數:");
scanf("%d",&num);
for(
i
=
0
;
1
;
i++)
//轉換為二進制並存入數組
{
arr[i]
=
num
%
2;
num
=
num
/
2;
if(num
==
0)
{
break;
}
}
printf("轉換為二進制:");
//列印
for(;
i
>=
0
;
i--
)
{
printf("%d",arr[i]);
}
printf("\n");
}
void
eight()
{
int
num,
i;
int
arr[20];
printf("\n請輸入一個十進制數:");
scanf("%d",&num);
for(
i
=
0
;
1
;
i++)
//轉換為八進制並存入數組
{
arr[i]
=
num
%
8;
num
=
num
/
8;
if(num
==
0)
{
break;
}
}
printf("轉換為八進制:");
//列印
for(;
i
>=
0
;
i--
)
{
printf("%d",arr[i]);
}
printf("\n");
}
void
sixteen()
{
int
num,
i;
int
arr[20];
printf("\n請輸入一個十進制數:");
scanf("%d",&num);
for(
i
=
0
;
1
;
i++)
//轉換為二進制並存入數組
{
arr[i]
=
num
%
16;
num
=
num
/
16;
if(num
==
0)
{
break;
}
}
printf("轉換為十六進制:");
//列印
for(;
i
>=
0
;
i--
)
{
switch(arr[i])
{
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
:
printf("%d",arr[i]);
}
}
printf("\n");
}

❼ 在c語言中用最簡單的方法把十進制轉化為十六進制

代碼如下:

#include"stdio.h"
intmain()
{
intnum=0;
inta[100];
inti=0;
intm=0;
intyushu;
charhex[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
printf("請輸入一個十進制整數:");
scanf("%d",&num);
while(num>0)
{
yushu=num%16;
a[i++]=yushu;
num=num/16;
}
printf("轉化為十六進制的數為:0x");
for(i=i-1;i>=0;i--)//倒序輸出{
m=a[i];
printf("%c",hex[m]);
}
printf(" ");
}

程序運行結果:

(7)c語言十進制轉十六進制函數擴展閱讀

C語言中,十進制轉換十六進制,可以先輸入十進制整數,然後去拼十六進制,十六進制由數字 0~9、字母 A~F 或 a~f(不區分大小寫)組成,使用時必須以0x或0X(不區分大小寫)開頭,只需把二進制除以16得到余數去上面定義的hex[16]數組進行取值接可以得到轉換的數字。

熱點內容
網易雲音樂文件夾名 發布:2024-11-07 22:39:23 瀏覽:210
雲速伺服器近期價格 發布:2024-11-07 22:39:20 瀏覽:37
linuxnginx與php 發布:2024-11-07 22:33:32 瀏覽:78
android語音sdk 發布:2024-11-07 22:26:58 瀏覽:614
uuidjava生成 發布:2024-11-07 22:22:31 瀏覽:7
裝修家中需要配置哪些東西 發布:2024-11-07 22:21:11 瀏覽:82
什麼安卓的平板電腦最好用 發布:2024-11-07 22:21:05 瀏覽:553
linux最大內存 發布:2024-11-07 22:11:28 瀏覽:627
誰編程的楚辭 發布:2024-11-07 22:06:22 瀏覽:334
安卓暴力摩托叫什麼 發布:2024-11-07 22:05:03 瀏覽:344