十六进制字符串转int64

原创 2002年06月28日 16:18:00

#include <math.h>
__int64 Str2Int64(char* str)
{
   if(strstr(str,"0x") || strstr(str,"0X"))
   {
      str += 2;
      __int64 tmp = 0;
      int len = strlen(str);
      for(int i = 0;i < len ;i++)
      {
         int nDecNum;
         switch(str[i])
         {
        case 'a':
        case 'A':
           nDecNum = 10;
           break;
        case 'b':
        case 'B':
           nDecNum = 11;
           break;
         case 'c':
         case 'C':
            nDecNum = 12;
            break;
        case 'd':
        case 'D':
            nDecNum = 13;
            break;
        case 'e':
        case 'E':
            nDecNum = 14;
            break;
        case 'f':
        case 'F':
            nDecNum = 15;
            break;
        case '0':
        case '1':
        case '2':
        case '3':
        case '4':
        case '5':
        case '6':
        case '7':
        case '8':
        case '9':
            nDecNum = str[i] - '0';
            break;
        default:
            return 0;

        }
        tmp += nDecNum*pow(16,len-i -1);
     }
     return tmp;
   }
   else
   {
      return _atoi64(str);
   }
}

VS下64位整形数(_int64)与字符串的相互转化

64位整数情况如下: 类型名 字节数 别名 范围 __int64 8 long long, signed long long –9,223,372,036,854...
  • andrew_yt
  • andrew_yt
  • 2012年10月31日 19:21
  • 9765

int_64 与 字符串相互转化

int main() {        time_t cur_time = time(0);        cout        char ct[32];        memset(c...
  • EckelWei
  • EckelWei
  • 2014年01月09日 20:24
  • 2651

10进制数和16进制字符串 相互转换

#pragma mark - 10进制 转 16进制 字符串 - (NSString *)int64ToHex:(int64_t)tmpid { NSString *nLetterValue;...
  • u010731949
  • u010731949
  • 2017年05月17日 09:15
  • 268

_strtoui64将字符串转换成__int64位的整数

字符串转换成__int64
  • syx19930206
  • syx19930206
  • 2015年04月23日 11:34
  • 3355

十六进制转字符串StrToHex,字符串转十六进制HexToStr

// HEXSTR.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include /* // C prototype : void StrToHex...
  • sunflover454
  • sunflover454
  • 2016年04月22日 13:43
  • 892

【算法C++】十进制字符串转十六进制字符串

问题描述将一个十进制字符串转化为十六进制字符串。问题解决这个问题如果只是十进制转化为十六进制,其实是比较容易的,只要了解短除法就可以解决了,但题目里数是字符串,这就将题目的难度增高了。因为如果只是in...
  • zgljl2012
  • zgljl2012
  • 2015年09月25日 16:40
  • 6317

将16进制字符串转换为16进制数值的两种方法

方法一: 主要用到sscanf这个库函数: 函数名: sscanf 功 能: 执行从字符串中的格式化输入 用 法: int sscanf(char *string, char *forma...
  • superbfly
  • superbfly
  • 2013年09月12日 10:47
  • 2746

十六进制的字符串与二进制字符串相互转换

如果是十六进制的数字和二进制的数字相互之间进行转换的话,只需要调用 Integer.tobinarystring() 或者 Integer.tohexString()  就可以进行转换, 但是如果是...
  • zcsearching
  • zcsearching
  • 2016年02月20日 14:48
  • 1371

16进制字符串和字节数组互相转换

package com.wpn.net.util; public class NumberChange { /* * 把16进制字符串转换成字节数组 @param hex @retur...
  • cuiran
  • cuiran
  • 2012年09月15日 13:43
  • 14400

C/C++ —— 十六进制类型字符串的转换

在实际工作中,字符串和其它数据类型的转换是很常见的,库函数有很多,比如 atoi , strtol , sscanf 等,这些函数网上有很多资料, 我经常用到的就是十六进制的数值以字符串的形式传输,...
  • jscese
  • jscese
  • 2014年09月04日 18:57
  • 4543
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:十六进制字符串转int64
举报原因:
原因补充:

(最多只允许输入30个字)