国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 中阳县| 新竹县| 大渡口区| 上蔡县| 城固县| 阿拉尔市| 屏山县| 政和县| 咸宁市| 新和县| 罗甸县| 类乌齐县| 和平县| 贵德县| 阳东县| 渝北区| 衡东县| 大新县| 安化县| 同德县| 宜州市| 孝义市| 中阳县| 工布江达县| 崇义县| 泸西县| 通辽市| 闸北区| 漠河县| 苏尼特右旗| 黄骅市| 霞浦县| 乌兰县| 重庆市| 永福县| 安康市| 措美县| 安西县| 高雄市| 合川市| 绥棱县|