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

c語言十六進制輸入

發布時間: 2022-02-04 11:11:30

1. c語言中16進制的表示方法

16進制以0x開頭,後面跟數字0~9或字母A~F(小寫也可以),如:0x2D(16進制數2D)

2. C語言編程:寫一個函數,輸入一個16進制數,輸出相應的10進制數。

#include<stdio.h>
#include<conio.h>
#include<string.h>
#define
N
1000
char
str[N];
int
a[N],b[N];
int
main(void)
{
void
zsh();
long
ycl();
int
i,n;
do{
printf("請輸入一個十六進制數:\n");
scanf("%s",str);
for(i=0,n=0;str[i]!='\0';i++)
if(str[i]<'0'||(str[i]>'9'&&str[i]<'A')||(str[i]>'F'&&str[i]<'a')||str[i]>'f')
{
n=1;
printf("輸入不符和要求\n");
break;
}
}while(n);
zsh();
printf("轉換成十進制後的結果為%ld\n",ycl());
getch();
}
void
zsh()
{
int
i,j;
j=strlen(str)-1;
b[j]=1;
for(i=j;i>0;i--)
b[i-1]=b[i]*16;
}
long
ycl()
{
long
x,i,j;
j=strlen(str)-1;
for(x=0,i=j;i>=0;i--)
{
if(str[i]>='a'&&str[i]<='z')
a[i]=str[i]-'a'+10;
else
if(str[i]>='A'&&str[i]<='Z')
a[i]=str[i]-'A'+10;
else
a[i]=str[i]-'0';
x=x+a[i]*b[i];
}
return
x;
}

3. c語言怎樣定義並輸入一個16進制數

1、C/C++規定,16進制數必須以 0x開頭。比如 0x1表示一個16進制數,而1則表示一個十進制,0xff,0xFF,0X102A,等等.其中的x不用區分大小寫。

C/C++中,10進制數有正負之分。比如12表示正12,而-12表示負12。但8進制和16進制只能表達無符號的正整數,如果在代碼中寫-0xF2,C/C++並不把它當成一個負數。

2、以下是一些用法示例:

int a = 0x100F; //用一個十六進制數給變數a賦值

int b = 0x70 + a; //用一個十六進制數+變數a的值給變數b賦值

4. C語言輸出16進制數

#include<stdio.h>
intmain()
{
intn;
scanf("%d",&n);
printf("0x%x ",n);
return0;
}

5. C語言 十六進制怎麼輸出

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

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

6. C語言輸入十六進制,輸出十進制

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

7. c語言輸入一個字元串轉換為十六進制並輸出

#include<stdio.h>
#include<string.h>
intmain()
{
unsignedi,len;
intn=0;
charstr[99]="123342abcdAFB1H",str1[99],str2[99]="";
sscanf(str,"%[0-9^a-f^A-F]",str1);
len=strlen(str1);
while(strlen(str1)>1)
{
sscanf(str1,"%2s",str2);
if(strlen(str1)!=len)printf(",");
printf("0x%s",str2);
n++;
for(i=0;i<strlen(str1)-2;i++)
{
str1[i]=str1[i+2];
}
str1[strlen(str1)-2]='';
}
printf(" n=%d ",n);
return0;
}

8. c語言輸入一個十六進制數怎麼寫

16進制數只是10進制數的一種表現形式,其存儲的實際還是10進制數。所以,定義變數就是整形!
C中輸入整形變數,可以按16進制格式,如:
int i;
scanf("%x", &i ); //%x按16進制輸入數據
printf("%d\n", i ); //按十進制輸出結果
printf("%x\n", i ); //按十六進制輸出結果

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

#include&lt;stdio.h&gt;

#include&lt;string.h&gt;

#include&lt;math.h&gt;

/************************

*函數:convert*

*功能:十六進制轉十進制*

************************/

void conver(char arr[])

{

int i,j=0,k=0,sum=0,n=strlen(arr);

int num[100];

for(i=0;i&lt;n;i++)

{

switch(arr<i>)

{

case'A':num[j++]=10;

break;

case'B':num[j++]=11;

break;

case'C':num[j++]=12;

break;

case'D':num[j++]=13;

break;

case'E':num[j++]=14;

break;

case'F':num[j++]=15;

break;

default:num[j++]=(int)(arr<i>-'0');

break;

}

}

for(i=n-1;i&gt;=0;i--)

sum+=num<i>*pow(16,n-1-i);

printf("轉換結果: %d",sum);

}

int main()

{

char arr[10];

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

gets(arr);

conver(arr);

return 0;

}

(9)c語言十六進制輸入擴展閱讀:

return 0代表程序正常退出。return是C++預定義的語句,它提供了終止函數執行的一種方式。當return語句提供了一個值時,這個值就成為函數的返回值。

return語句用來結束循環,或返回一個函數的值。

1、return 0,說明程序正常退出,返回到主程序繼續往下執行。

2、return 1,說明程序異常退出,返回主調函數來處理,繼續往下執行。return 0或return 1對程序執行的順序沒有影響,只是大家習慣於使用return(0)退出子程序而已。

總結

return是C++預定義的語句,它提供了終止函數執行的一種方式。當return語句提供了一個值時,這個值就成為函數的返回值.

說到return,有必要提及主函數的定義,下面是從網路上找到的資料,好好消化吧,對了解主函數中返回值的理解有很大的幫助.

很多人甚至市面上的一些書籍,都使用了void main(),其實這是錯誤的。C/C++中從來沒有定義過void main()。

C++之父Bjarne Stroustrup在他的主頁上的FAQ中明確地寫著The definition void main(){/*...*/}is not and never has been

C++,nor has it even been C.(void main()從來就不存在於C++或者C)。下面我分別說一下C和C++標准中對main函數的定義。

在C89中,main()是可以接受的。Brian W.Kernighan和Dennis M.Ritchie的經典巨著The C programming Language 2e(《C程序設計語言第二版》)用的就是main()。不過在最新的C99標准中,只有以下兩種定義方式是正確的:

int main(void)

int main(int argc,char*argv[])

當然,我們也可以做一點小小的改動。例如:char*argv[]可以寫成char**argv;argv和argc可以改成別的變數名(如intval和charval),不過一定要符合變數的命名規則。

如果不需要從命令行中獲取參數,請用int main(void);否則請用int main(int argc,char*argv[])。

main函數的返回值類型必須是int,這樣返回值才能傳遞給程序的激活者(如操作系統)。

如果main函數的最後沒有寫return語句的話,C99規定編譯器要自動在生成的目標文件中(如exe文件)加入return 0;,表示程序正常退出。不過,我還是建議你最好在main函數的最後加上return語句,雖然沒有這個必要,但這是一個好的習慣。

注意,vc6不會在目標文件中加入return 0;,大概是因為vc6是98年的產品,所以才不支持這個特性。現在明白我為什麼建議你最好加上return語句了吧!不過,gcc3.2(Linux下的C編譯器)會在生成的目標文件中加入return 0;。

10. C語言編程,輸入十進制數輸出十六進制和八進制

可以通過下面的公式解決

#include<stdio.h>

const int maxn = 128;

const int index8 = 8;

const int index16 =16;

int main()

{int Array8[maxn];

int Array16[maxn];

int n, cot8 = 0;

scanf("%d", &n);

int m = n, cot16 = 0;

while(n) {Array8[cot8++] = n % index8;

n /= index8;}

while(m) {Array16[cot16++] = m % index16;

m /= index16;}

int i;

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

printf("%d", Array8[i]);

puts("");

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

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

十進制轉十六進制的具體方法:

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

對於小數部分,採用連續乘以基數16,並依次取出的整數部分,直至結果的小數部分為0為止。故該法稱「乘基取整法」。

10進制數轉換成十六進制數,這是一個連續除以16的過程:把要轉換的數,除以16,得到商和余數,將商繼續除以16,直到商為0。最後將所有餘數倒序排列,得到數就是轉換結果。