国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++實現十六進制字符串轉換為十進制整數的方法

2020-01-26 15:03:21
字體:
來源:轉載
供稿:網友

本文實例講述了C++實現十六進制字符串轉換為十進制整數的方法。分享給大家供大家參考。具體實現方法如下:

/** 將十六進制數字組成的字符串(包含可選的前綴0x或0X)轉換為與之等價的整型值*/#include <stdio.h>#include <math.h>/* 將十六進制中的字符裝換為對應的整數 */int hexchtoi(char hexch ){ char phexch[] = "ABCDEF"; char qhexch[] = "abcdef"; int i; for(i=0;i<6;i++){  if((hexch == phexch[i]) || (hexch == qhexch[i]))   break; } printf("i=%d",i); if(i >= 6){  return 0; /* 非十六進制字符 */ } return 10+i;}int htoi(char s[]){ int n=0; /*有n位*/ int valu=1; /*是否有效*/ int i=0,j; int answer=0; /* 有效性檢查 */ if((s[0] == '0') && ((s[1] == 'x') || (s[1] == 'X'))){  i += 2; } while((s[i] != '/n')){  if((s[i] < '0') && (s[i] > '9')){   if(hexchtoi(s[i]) == 0){    valu=0;    break;   }  }  n++;  i++; } if(valu != 0){     for(j=0;j<n;j++){   answer += ((int)pow(16,j) * hexchtoi(s[i-j-1]));  }  } else  answer = -1; return answer;}main(){ char *n[] = {"0x7ff0","0x2341"}; printf("%s is %d/n",n[0],htoi(n[0])); printf("%s is %d/n",n[0],123);}

希望本文所述對大家的C++程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汨罗市| 独山县| 互助| 巧家县| 都兰县| 临沂市| 子长县| 临江市| 蕲春县| 申扎县| 丰城市| 镇赉县| 庄浪县| 高唐县| 都安| 乳山市| 静海县| 珠海市| 汉源县| 鹿邑县| 门源| 吕梁市| 确山县| 平顶山市| 富民县| 紫云| 永德县| 丰原市| 奇台县| 阿图什市| 辰溪县| 姜堰市| 新民市| 博客| 兴山县| 容城县| 静海县| 板桥市| 济宁市| 日照市| 浑源县|