在c语言中 十六进制转十进制,C语言中十六进制转十进制两种实现方法
生活随笔
收集整理的這篇文章主要介紹了
在c语言中 十六进制转十进制,C语言中十六进制转十进制两种实现方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
C語言 · 十六進制轉十進制
問題描述
從鍵盤輸入一個不超過8位的正的十六進制數字符串,將它轉換為正的十進制數后輸出。
注:十六進制數中的10~15分別用大寫的英文字母A、B、C、D、E、F表示。
樣例輸入
FFFF
樣例輸出
65535
思路:感覺自己的下面兩個方法都對,但是···不說了【狡詐】。。。
方案一:
#include
#include
#include
int main(){
char s[50];
scanf("%s",s);
int t=strlen(s);
long sum=0;
for(int i=0;i
if(s[i]>='A' && s[i]<='Z')
s[i]=int(s[i]-'A')+10+'0';
sum+=((s[i]-'0')*(pow(16,t-1-i)));
}
printf("%ld\n",sum);
}
方案二:
#include
int main(){
char s[50];
scanf("%s",s);
int t;
long sum=0;
for(int i=0;s[i];i++){
if(s[i]<='9')
t=s[i]-'0';
else
t=s[i]-'A'+10;
sum=sum*16+t;
}
printf("%ld\n",sum);
return 0;
}
感謝閱讀,希望能幫助到大家,謝謝大家,對本站的支持!
總結
以上是生活随笔為你收集整理的在c语言中 十六进制转十进制,C语言中十六进制转十进制两种实现方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言课设报告河海大学,2020河海大学
- 下一篇: c语言鼠标下棋,c语言写的鼠标操作的五子