十六进制转十进制

十六进制转十进制

在玩编程的时候常会碰到十六进制转换的问题。对于专业的大佬大咖这不是问题,小人物总会有些麻烦。我在研究调色板时也遇到进制转换问题。前些时在本站发了十进制转十六进制的博文,今再写十六进制转十进制的转换方法。供大家参考。

下面是变量和源码:

string hex, a ;

int dec, k ;

Int nlen ;

hex2dec (){

//传入十六进制数转换为十进制数

//传入 string hex$ 输出 int dec

// print "Input hex string = ", hex$ ;

nlen=len (hex$); //字串长度

dec=0 ; //init 置初值 0

//开始计算 >

for (i=0; i<nlen; i++){

a=subString (hex, i, 1);

//字符串转为数值的方法很多,我采用最简单直观的写法,字母大小写都可以。多人采用个位起反向计算十进制数,我的方法是高权位起降幂计算乘方累加。此方法就一个计算式,简单直观,方便使用。

if (a$=="0") k=0 ;

if (a$=="1") k=1 ;

if (a$=="2") k=2 ;

if (a$=="3") k=3 ;

if (a$=="4") k=4 ;

if (a$=="5") k=5 ;

if (a$=="6") k=6 ;

if (a$=="7") k=7 ;

if (a$=="8") k=8 ;

if (a$=="9") k=9 ;

if (a=="A"\|\|a=="a") k=10 ;

if (a=="B"\|\|a=="b") k=11 ;

if (a=="C"\|\|a=="c") k=12 ;

if (a=="D"\|\|a=="d") k=13 ;

if (a=="E"\|\|a=="e") k=14 ;

if (a=="F"\|\|a=="f") k=15 ;

kn=nlen-i-1 ; //高权位起降幂计算

dec=dec+(int)(k*pow(16,kn)) ; //乘方累加

} // return dec

}//hex2dec ()

测试代码:

test (){ //test hex to dec

hex$="8f" ;

print "Input:hex string = ", hex$;

hex2dec ();

print "计算结果:dec = ", dec ;

print " ";

hex$="df" ;

print "Input:hex string = ", hex$;

hex2dec ();

print "计算结果:dec = ", dec ;

print " ";

hex$="ffff" ;

print "Input:hex string = ", hex$;

hex2dec ();

print "计算结果:dec = ", dec ;

print " ";

hex$="ffFFff" ;

print "Input:hex string = ", hex$;

hex2dec ();

print "计算结果:dec = ", dec ;

print " ";

hex$="18dd" ;

print "Input:hex string = ", hex$;

hex2dec ();

print "计算结果:dec = ", dec ;

print " ";

}//test ()

相关推荐
Zwawa3 小时前
先把轮子转稳,才不会烧心:编码器速度环 PID 怎么接回 PWM
c语言·单片机·嵌入式
wujiuhsu4 小时前
图片里的简体中文怎么翻译成繁体?商品图、详情页和海报批量转换方法
经验分享·笔记
蛋白界小百灵5 小时前
AAV载体包装与纯化技术全解析:从三质粒系统到衣壳定向进化
经验分享·生物技术·实验·卡梅德生物·科研实验
Escalating_xu7 小时前
【C 语言】编译和链接:从源文件、目标文件到可执行程序完整解析
c语言·开发语言
C++ 老炮儿的技术栈7 小时前
std::atomic 是什么
linux·c语言·网络·c++·visual studio
Logic1018 小时前
C语言/数据结构位运算题解:异或XOR找出数轴移动中只出现一次的指令——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
weixin_462901978 小时前
CubeIDE串口重定向 printf
c语言
wukong60268 小时前
迈富时、泓动数据、智推时代GEO的功能价格效果对比
经验分享
辰辰观影8 小时前
户外无信号内存小怎么缓存看视频?省内存教程分享
论文阅读·经验分享
人邮异步社区9 小时前
C语言好学,还是Python好学?
c语言·开发语言·python