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

首頁(yè) > 編程 > C++ > 正文

C++實(shí)現(xiàn)十六進(jìn)制字符串轉(zhuǎn)換為十進(jìn)制整數(shù)的方法

2020-05-23 14:18:51
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

這篇文章主要介紹了C++實(shí)現(xiàn)十六進(jìn)制字符串轉(zhuǎn)換為十進(jìn)制整數(shù)的方法,涉及C++字符串與數(shù)制轉(zhuǎn)換的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了C++實(shí)現(xiàn)十六進(jìn)制字符串轉(zhuǎn)換為十進(jìn)制整數(shù)的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:

 

 
  1. /* 
  2. * 將十六進(jìn)制數(shù)字組成的字符串(包含可選的前綴0x或0X)轉(zhuǎn)換為與之等價(jià)的整型值 
  3. */ 
  4. #include <stdio.h> 
  5. #include <math.h> 
  6. /* 將十六進(jìn)制中的字符裝換為對(duì)應(yīng)的整數(shù) */ 
  7. int hexchtoi(char hexch ) 
  8. char phexch[] = "ABCDEF"
  9. char qhexch[] = "abcdef"
  10. int i; 
  11. for(i=0;i<6;i++){ 
  12. if((hexch == phexch[i]) || (hexch == qhexch[i])) 
  13. break
  14. printf("i=%d",i); 
  15. if(i >= 6){ 
  16. return 0; /* 非十六進(jìn)制字符 */ 
  17. return 10+i; 
  18. int htoi(char s[]) 
  19. int n=0; /*有n位*/ 
  20. int valu=1; /*是否有效*/ 
  21. int i=0,j; 
  22. int answer=0; 
  23. /* 有效性檢查 */ 
  24. if((s[0] == '0') && ((s[1] == 'x') || (s[1] == 'X'))){ 
  25. i += 2; 
  26. while((s[i] != '/n')){ 
  27. if((s[i] < '0') && (s[i] > '9')){ 
  28. if(hexchtoi(s[i]) == 0){ 
  29. valu=0; 
  30. break
  31. n++; 
  32. i++; 
  33. if(valu != 0){  
  34. for(j=0;j<n;j++){ 
  35. answer += ((int)pow(16,j) * hexchtoi(s[i-j-1])); 
  36. }  
  37. else 
  38. answer = -1; 
  39. return answer; 
  40. main() 
  41. char *n[] = {"0x7ff0","0x2341"}; 
  42. printf("%s is %d/n",n[0],htoi(n[0])); 
  43. printf("%s is %d/n",n[0],123); 

希望本文所述對(duì)大家的C++程序設(shè)計(jì)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 周宁县| 介休市| 稻城县| 贵南县| 子长县| 无锡市| 利辛县| 武定县| 伽师县| 邢台市| 弥渡县| 岢岚县| 麻江县| 泰州市| 曲阳县| 高密市| 柞水县| 南郑县| 科技| 青田县| 合山市| 申扎县| 南投县| 左云县| 诏安县| 陈巴尔虎旗| 辽宁省| 灌南县| 江华| 牡丹江市| 五常市| 安丘市| 仁寿县| 凌海市| 大渡口区| 丽水市| 呼和浩特市| 个旧市| 怀集县| 化州市| 苏尼特左旗|