當前位置:首頁 » 編程語言 » 進制轉換c語言代碼

進制轉換c語言代碼

發布時間: 2024-03-21 16:51:54

1. c語言如何把11位16進制字元串轉成16進制數

#include<stdio.h>

#include<stdlib.h>

voidmain()

{

char*p="0x1b";

char*str;

longi=strtol(p,&str,16);

printf("%d ",i);

}

//輸出值為27

參數base代表採用的進制方式,如base值為10則採用10進制,若base值為16則採用16進制等。當base值為0時則是採用10進製做轉換,但遇到如』0x』前置字元則會使用16進製做轉換、遇到』0』前置字元而不是』0x』的時候會使用8進製做轉換。

(1)進制轉換c語言代碼擴展閱讀

C語言十進制轉2~16進制

#include<stdio.h>

voidtrans(intdata,intbase)

{

intx[64],k,i=0;

while(data)

{

x[i]=data%base;

data/=base;

i++;

}

for(k=i-1;k>=0;k--)

if(x[k]<10)

printf("%d",x[k]);

elseif(x[k]<=16)

printf("%c",'A'+x[k]-10);

}

intmain(void)

{

intnum,base;

scanf("%d%d",&num,&base);

if(base<=0||base>16)

{

printf("dataerror ");

return;

}

printf("number=%dbase=%d ",num,base);

trans(num,base);

printf(" ");

return0;

}

2. c語言 十進制轉換為十六進制

在C語言中,可以使用`printf()`函數的格式控制符將態渣十進制數轉換為十六進制。具體來說,可以使用 `%x` 格式控制符。例如:

```c
int decimal_number = 255;
printf("%x", decimal_number);
```

上述代碼將十進制數255轉換為十六數春進制形式,並輸出結果ff。

需要注意的是,在使用 `%x` 格式控制符時,輸出的十六進制數字母會自動轉換為小寫形式。如帆畢悄果需要輸出大寫形式的字母,可以使用 `%X` 格式控制符。

3. C語言編程:八進制轉換為十進制

#include<stdio.h>

void main()

{

char *p,s[6];int n;

p=s;

gets(p);

n=0;

while(*(p)!='')

{n=n*8+*p-'0';

p++;}

printf("%d",n);

}

(3)進制轉換c語言代碼擴展閱讀:

一、二進制數轉換

二進制數轉換成十進制數

由二進制數轉換成十進制數的基本做法是,把二進制數首先寫成加權系數展開式,然後按十進制加法規則求和。這種做法稱為"按權相加"法。例1105把二進制數110.11轉換成十進制數。

二、十進制數轉換為二進制數

十進制數轉換為二進制數時,由於整數和小數的轉換方法不同,所以先將十進制數的整數部分和小數部分分別轉換後,再加以合並。

1、十進制整數轉換為二進制整數十進制整數轉換為二進制整數採用"除2取余,逆序排列"法。具體做法是:用2去除十進制整數,可以得到一個商和余數;再用2去除商,又會得到一個商和余數,

如此進行,直到商為零時為止,然後把先得到的余數作為二進制數的低位有效位,後得到的余數作為二進制數的高位有效位,依次排列起來。

2、十進制小數轉換為二進制小數

十進制小數轉換成二進制小數採用"乘2取整,順序排列"法。具體做法是:用2乘十進制小數,可以得到積,將積的整數部分取出,再用2乘餘下的小數部分,又得到一個積,再將積的整數部分取出,如此進行,直到積中的小數部分為零,或者達到所要求的精度為止。

然後把取出的整數部分按順序排列起來,先取的整數作為二進制小數的高位有效位,後取的整數作為低位有效位。

4. 在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語言代碼擴展閱讀

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

熱點內容
可不可以同時安裝幾個編譯器 發布:2024-11-28 22:34:08 瀏覽:934
蘋果配置鎖如何激活 發布:2024-11-28 22:10:24 瀏覽:668
linuxpython2與3共存 發布:2024-11-28 21:43:41 瀏覽:905
短視頻平台上傳視頻規范 發布:2024-11-28 21:41:22 瀏覽:554
c語言統計素數的個數 發布:2024-11-28 21:38:24 瀏覽:838
我的世界伺服器管理員沒了怎麼辦 發布:2024-11-28 21:37:22 瀏覽:184
請求分段存儲 發布:2024-11-28 21:23:20 瀏覽:459
zip偽加密 發布:2024-11-28 21:23:17 瀏覽:227
linuxshell路徑 發布:2024-11-28 21:13:05 瀏覽:995
存儲為web所用格式切片 發布:2024-11-28 21:11:23 瀏覽:453