當前位置:首頁 » 編程語言 » c語言中013轉為10進制
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言中013轉為10進制

發布時間: 2022-12-24 23:57:11

c語言中將0123轉換成十進制數是

#include<stdio.h>
int main()
{
int a=0123;
printf("%d",a);
}
前面加0的數是八進制數
%d輸出的是十進制數
所以這樣就可以了.

⑵ C語言如何將一個數字組成的字元串轉變成十進制數

辦法很多,提供三種供參考。

一、直接使用庫函數atoi將數字字元串轉換成十進制整數。代碼如下:

#include"stdio.h"
#include"stdlib.h"//調用庫函數atoi要包含這個文件
intmain(intargc,char*argv[]){
chara[]="478167831";
printf("%d ",atoi(a));//直接調用atoi將a轉換為十進制整數
return0;
}

二、用庫函數sscanf直接將數組中的數字字元串讀入十進制整型變數。代碼如下:

#include"stdio.h"
intmain(intargc,char*argv[]){
chara[]="478167831";
intx;
sscanf(a,"%d",&x);//調用sscanf,讀入時自動轉換為int型並由%d控制以十進制賦給變數x
printf("%d ",x);//輸出
return0;
}

三、自行編寫轉換代碼:

#include"stdio.h"
intmain(intargc,char*argv[]){
chara[]="478167831";
intx,i;
for(x=i=0;a[i];(x*=10)+=a[i++]-'0');//字元與數字的關系是"字元值-'0'==同名數字"
printf("%d ",x);//輸出
return0;
}

上述三代碼的輸出結果如下圖:

⑶ C語言如何實現十六進制轉換成十進制

C語言實現十六進制轉換成十進制如下:

例如將十六進制數字 9FA8C 轉換成十進制

9FA8C = 9×164 + 15×163 + 10×162 + 8×161 + 12×160 = 653964(十進制)。

從右往左看,第1位的位權為 160=1,第2位的位權為 161=16,第3位的位權為 162=256,第4位的位權為 163=4096,第5位的位權為 164=65536 …… 第n位的位權就為 16n-1。

將各個位的數字乘以位權,然後再相加,就得到了十進制形式。

十六進制數的第0位的權值為16的0次方,第1位的權值為16的1次方,第2位的權值為16的2次方。

所以,在第N(N從0開始)位上,如果是是數 X (X 大於等於0,並且X小於等於 15,即:F)表示的大小為 X * 16的N次方。

再例如:十六進制:EA7 = 14×162 + 10×161 + 7×160 = 3751(十進制)。



(3)c語言中013轉為10進制擴展閱讀:

C語言10進制轉16進制

把十進制的數不停除以16的余數按從右到左的順序排起來就是16進制,例如:55/16=0餘5例如100 100/16=6餘4 6/16餘6,所以就是64,再例如1000 1000/16=62餘8 62/16=3餘12 3/16餘3所以結果是3C8 //。

對於整數部分,用被除數反復除以2,除第一次外,每次除以2均取前一次商的整數部分作被除數並依次記下每次的余數。另外,所得到的商的最後一位余數是所求二進制數的最高位。

對於小數部分,採用連續乘以基數2,並依次取出的整數部分,直至結果的小數部分為0為止。

⑷ c語言中,將字元轉換為十進制的程序

字元轉為10進制 用sscanf或者用atoi均可

以字元串中, 本身為10進制字元串為例

用sscanf程序如下:

#include<stdio.h>
intmain()
{
chars[20];
inti;
scanf("%s",s);
sscanf(s,"%d",&i);
printf("%d ",i);
return0;
}

⑸ 在C語言中,如何用數組來實現2進制轉換為10進制

問題不是很清楚,是一個'1' 和『0』 的char[] 作為input,然後一個int 作為結果的話,可以這樣寫:
比如進來時「10100010001」這樣一個用char[] 表示的string的話
int convert(char * arg)
{
int result = 0;

//先找長度

int length = strlen(arg);

//用pos來找正確的bit position, 因為 index 0 對應的是bit pos, 1 對應 pos -1, etc
int pos = length - 1;

for (int i = 0; i<length; i++)

{
result + = (int)(arg[i] - '0')<<(pos - i);
}

return result;

}

如果想程序跑的快點可以加一個 #pragma omp parallel for (+:result) firstprivate(i) 在for循環前面一行, 當然如果題主不需要就當沒看到這個啦, xD

希望解答了你的問題

⑹ c語言中如何將16進制字元串轉化成10進制整數

1、輸入字元串
3、反轉字元串,並賦給字元串數組A
2、循環檢測數組A,依次檢測1每個字元
5、判斷當前檢測的字元,如果屬於ABCDEF,則依次把ABCDEF
轉換為11....16,否則不做任何操作
6、累加,當前循環次數的16次方乘以當前字元的數值大小。
7、輸出總累加值就是10進制整數

⑺ 問一個C語言中的換算問題

0x開頭表示,該數據是16進制數據。16進制轉化為10進制的方法如下:

例1.把0x13轉化為10進制。
3*(16的0次方)+1*(16的1次方)= 3*1+1*16 = 19

例2.0x1234轉為為10進制。
4*(16的0次方)+3*(16的1次方)+2*(16的2次方)+1*(16的3次方)= 4660

其它轉化依此類推,記住,就是對應的位i乘以16的i-1次方相加即可!

⑻ 如何用C語言將一個十六進制數字轉換為十進制

需要准備的材料分別有:電腦、C語言編譯器。

1、首先,打開C語言編譯器,新建一個初始.cpp文件,例如:test.cpp。