當前位置:首頁 » 編程語言 » c語言輸出十進制

c語言輸出十進制

發布時間: 2022-06-04 07:16:29

c語言 怎樣將二進制數轉換成十進制,又怎樣將十進制數轉換成二進制數輸出

將二進制數轉換成十進制,一般是從字元串轉換成一個整數,按位值乘以權值相累加得到結果。
如:1010=1*2^3+0*2^2+1*2+0
=((((1*2)+0)*2)+1)*2+0
將十進制數轉換成二進制數,採用的原理就是輾轉除2,逆向輸出余數。(windows系統下的itoa函數也是一個不錯的選擇,但DIY更有意義)
實現方法:
#include <stdio.h>
void swap( char *a, char *b )
{
char t=*a;
*a=*b;
*b=t;
}
char *reverse(char *s,int len)
{
char *b=s, *e=s+len-1;
while( b<e )
{
swap(b++,e--);
}
return s;
}
char *dec2bin(n)
{
static char str[33];
int i=0;
do {
str[i++]=n%2+'0';
n/=2;
}while( n );
str[i]=0;
return reverse(str,i);
}
int bin2dec(char *s)
{
int i,n=0;
for( i=0;s[i];i++ )
n=n*2+s[i]-'0';
return n;
}
void main()
{
int n=100;
char *p;
p=dec2bin(n);
printf("%d(D)=%s(B)\n", n, p );
n=bin2dec(p);
printf("%s(B)=%d(D)\n", p, n );
}運行結果:
100(D)=1100100(B)
1100100(B)=100(D)

Ⅱ C語言用1個10進制數表示字元串,並輸出該值怎麼做

要把一個十進制形式的整數數字字元串,轉換為一個十進制整數,可以用以下的辦法:
char s[]="12345678";
int i,n=0;
for(i=0;s[i];i++)
n=n*10+s[i]-'0';
printf("%d",n);
運行這段代碼後可以輸出:
12345678

Ⅲ C語言輸入十六進制,輸出十進制

直接將16進制以16為底,然後根據金智個稅依次計算,然後將結果求和之後即可得到十進制了

Ⅳ 輸入一個8進制數,輸出一個10進制的數.怎麼用C語言寫

好啊!我給你說說!
你可以這樣寫:
#include"stdio.h"
main()
{int
i;
scanf("%o",&i);
printf("%d",i);}
這樣就可以了,其實你說的不過是數據輸出中的
轉換字元
的應用就是了。
其中:
d
將參數以
十進制

形式
輸出
o
將參數以無
正負號
八進制
的形式輸出
x
將參數以無正負號的
十六進制
的形式輸出
u
將參數以無正負號的十進制的形式輸出
怎麼樣?明白了吧?

Ⅳ C語言中 輸出十進制 八進制 十六進制 有哪些表示方法

%d

%o

%x

Ⅵ C語言:寫一函數,輸入一個十六進制數,輸出相應的十進制數。

有幾個問題
一個是函數聲明不對
函數調用有問題
判斷數值臨界不準,沒有包含==的情況
演算法可以寫的簡單一點
最終優化如下
#include<stdio.h>
#include<string.h>
void main()
{
char array[100];
void fun(char*);
gets(array);
fun(array);
}

void fun(char array[100])
{
int sum=0,i;
for(i=0;i<strlen(array);i++)
{
sum*=16;
if('0'<=array[i]&&array[i]<='9')
sum+=array[i]-'0';
if('a'<=array[i]&&array[i]<='z')
sum+=array[i]-'a'+10;
if('A'<=array[i]&&array[i]<='Z')
sum+=array[i]-'A'+10;
}
printf("%d",sum);
}

Ⅶ 有C語言編寫一函數,輸入一十六進制數,輸出相應的十進制數

/*按要求,輸入輸出都在子函數中進行*/
#include
void
fun(void)
{
int
a=0,i;
char
str[6];
printf("輸入十六進制數:\n");
gets(str);
for(i=0;str[i]!='\0';i++)
if(str[i]>='0'&&str[i]<='9')
a=a*16+str[i]-48;
else
if(str[i]>='a'&&str[i]<='z')
a=a*16+str[i]-'a'+10;
else
a=a*16+str[i]-'A'+10;
printf("對應的十進制數為:%d\n",a);
}
int
main(void)
{
fun();
getchar();
}

Ⅷ c語言輸出格式%*s

c語言輸出格式%*s,標識形參佔位。

*在printf中使用,表示用後面的形參替代的位置,實現動態格式輸出。例如:printf("%*s",10,s);意思是輸出字元串s,但至少佔10個位置,不足的在字元串s左邊補空格,這里等同於printf("%10s",s)。


(8)c語言輸出十進制擴展閱讀:

C語言輸出格式大全:

格式佔位符(%)可以以下字母配合使用用來表示某些特定的輸入輸出。

%a,%A 讀入一個浮點值(僅C99有效)

%c 讀入一個字元

%d 讀入十進制整數

%i 讀入十進制,八進制,十六進制整數

%o 讀入八進制整數

%x,%X 讀入十六進制整數

%s 讀入一個字元串,遇空格、製表符或換行符結束。

%f,%F,%e,%E,%g,%G 用來輸入實數,可以用小數形式或指數形式輸入。

%p 讀入一個指針

%u 讀入一個無符號十進制整數

%n 至此已讀入值的等價字元數

%[] 掃描字元集合

%% 讀%符號

Ⅸ c語言,輸入一個二進制數,輸出它的十進制數,最簡單的

#include <stdio.h>

int main()

{

int len,i=0,number=0;

char c[100];

do

{

scanf("%c",&c[i]);

i++;

}while(c[i-1]!='\n');

len=i-1;

for(i=0;i<len;i++)

{

number=(number<<1)|(c[i]-'0');

}

printf("%d\n",number);

return 0;

}

Ⅹ C語言 寫一個函數 輸入一個十六進制數 輸出相應的十進制

#包括< stdio, h >

h#包括< math.h >

# include < string。H >

Intmain()

Char[10]。

Void轉換(char[]a);

Printf(「輸入十六進制數:」);

(一);輸入一個十六進制數

轉換(a);

返回0;

Void轉換(char[]a)

Intn,I,num=0;

N=strlen(a);

對於(I = n - 1;I > = 0;我)

如果(a < I > > = '0' & a < I > < = '9')

Num + = (a < I > - '0') * pow (16, n - 1 - I);

否則(a < I > > = 'a' && a < I > < = 'Z')

Num + =(10 +(<我> - a)) *戰俘(16 n - 1 - I);

否則(a < I > > = 'a' && a < I > < = 'z')

Num + =(10 +(<我> - a)) *戰俘(16 n - 1 - I);

Printf(「將小數轉換為:」);

Printf("%d",num);

(10)c語言輸出十進制擴展閱讀:

函數的作用是:從標准輸入設備(鍵盤)中讀取一個字元串,直到回車結束。但是回車不屬於這個字元串。調用格式為(s);其中s是字元串變數(字元串數組名或字元串指針)。

gets(s)函數與scanf(「%s」,s)類似,但不完全相同。對字元串輸入使用scanf("%s",s)函數的問題是,如果輸入了空格,則認為輸入字元串是完整的。

熱點內容
java至尊 發布:2025-02-09 08:03:23 瀏覽:558
pythonwith 發布:2025-02-09 08:00:25 瀏覽:172
Ftp打開文件是只讀模式 發布:2025-02-09 07:40:55 瀏覽:504
androidlistview點擊事件 發布:2025-02-09 07:25:52 瀏覽:171
targz解壓縮 發布:2025-02-09 06:59:19 瀏覽:311
wpsphp 發布:2025-02-09 06:58:41 瀏覽:962
視易鋒雲系統如何架設輔助伺服器 發布:2025-02-09 06:47:08 瀏覽:770
mysql備份腳本shell 發布:2025-02-09 06:46:33 瀏覽:15
騰訊雲伺服器怎樣調整解析度 發布:2025-02-09 06:46:30 瀏覽:369
php上一個頁面 發布:2025-02-09 06:41:25 瀏覽:490