给定一个16进制字符串,返回10进制数

 1 private static int getDecimal(String strHex){
 2
 3         char[] t = {‘0‘,‘1‘,‘2‘,‘3‘,‘4‘,‘5‘,‘6‘,‘7‘,‘8‘,‘9‘,‘a‘,‘b‘,‘c‘,‘d‘,‘e‘,‘f‘};
 4         int len = strHex.length();
 5         int result = 0;
 6         for(int i = len;i>0;i--){
 7             char c = strHex.charAt(i-1);
 8             for(int j=0;j<t.length;j++){
 9                 if(c==t[j]){
10                     result+=j<<((len - i )*4);
11                 }
12             }
13         }
14         return result;
15     }
时间: 2024-08-06 16:04:53

给定一个16进制字符串,返回10进制数的相关文章

lua 转换16进制字符串为10进制数值

> print(tonumber("03FFACB", 16)) 4192971 利用tonumber函数,"16"表示"03FFACB"为16进制数.

华为笔试练习题----解析9进制,11进制的字符串为10进制的数字输出

                                                                              解析9进制,11进制的字符串为10进制的数字输出 描述: 解析9进制,11进制的字符串为10进制的数字输出,输入的字符串有效位(0v0012345678)长度不超过8位,前面的00不算做有效位.解析后以10进制的数字输出.如果解析到非法字符串则返回-1 9进制: 9进制的数的范围:0,1,2,3,4,5,6,7,8 9进制的开始为:0V或者0

【POJ 1200】Crazy Search(将字符映射为数字,将NC进制hash成10进制)

题目链接 题目链接 http://poj.org/problem?id=1200 题意 原字符串有NC个不同字母,统计原字符串长度为N的子字符串个数 解题思路 将字符按ASCII码映射成数字. 将n个字符,即n位NC进制拼起来. 将拼起来的n位NC进制转化为10进制. 将10进制映射入hash表,每次映射判断是否已经存在. 若不存在,则ans++:否则将hash设置为存在 如何将子串(n位NC进制)映射为10进制 a = 0 b = 1 c = 2 则 cbaa = 2 * 3^3 + 1 *

C语言实现字符串中(10进制和16进制)转成十进制数

如何将字符串中的10进制数和16进制数提取出来,看以下代码: #include <stdio.h> typedef char TUINT8 ; typedef int TUINT32; TUINT32 Read_DecNumber(const TUINT8* str); TUINT32 Read_HexNumber(const TUINT8* str); int main(void) { int ret = Read_DecNumber("1000"); int d = R

mysql16进制数据转换为10进制数据

需求:表中的数据的16进制存储在数据库中,先需要将数据按照10进制进行输出解决方法:使用mysql自带的conv函数进行数据转换语法如下:conv(N,from base ,to base)实例1:SELECT conv( '0a', 16, 10 )实例2:set @n = "0926F281";select conv(@n,16,10);查询结果通过conv可以实现在mysql中的数据的相互装换 原文地址:http://blog.51cto.com/maoxiaoxiong/233

16进制字符串转换为3进制(扩展至K进制)

[本文链接] http://www.cnblogs.com/hellogiser/p/16-to-3-or-k.html [题目] 写代码把16进制表示的串转换为3进制表示的串.例如x=”5”,则返回:”12”:又例如:x=”F”,则返回”120” [代码] C++ Code 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960

16进制字符串转36进制字符串

PHP任意进制之间转换数字base_converthttp://php.net/manual/zh/function.base-convert.php 实际测试时因为有精度留失的问题,会导致换错误.Warning由于使用内部的 "double" 或 "float" 类型,base_convert() 的操作可能会导致大数值中的精度丢失.请参见本手册的 浮点数 章节以便获得更多详细信息. $s = 'BE55D904-1F35-4838-8F8F-B27EDEA9DF

汇编语言程序:16进制转换成10进制(三种方法)

1 ;天水浪客(Gouki Jiang) , 16进制to10进制例题 2007.5.18 2 STACK SEGMENT PARA STACK 3 S_AREA DW 100H DUP(?) 4 S_TOP EQU $-S_AREA 5 STACK ENDS 6 7 DATA SEGMENT PARA 8 VALUE DW 0EB9AH ;060314 9 RESULT DB 5 DUP(?),'$' 10 DATA ENDS 11 12 CODE SEGMENT PARA 13 ASSUME

m进制转化为10进制

#include<iostream> using namespace std; int main() { string n; int m, len, i, ans = 0; cin >> n >> m; len = n.length(); for (i = 0; i < len; i++) { if (n[i] <= '9') ans = ans * m + n[i] - '0'; else ans = ans * m + n[i] - 'A' + 10;