1、该问题困扰了我很久(主要还是基础不牢)。
实现原理:将16进制字符串转换为二进制字符串再去计算。
然后利用二进制的性质(逢二进一)进行转换为10进制。
废话不多说,上代码了。

在这里插入代码片
Char str[] = Upper("0f40fd3e7e11f6b63949e82c2f8c53eda34126ec")
String strtemp = ''
Long ll_row
int ll_number2[],ll_number1[]
str = 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'
For ll_row = 1 To UpperBound(str)Choose Case str[ll_row]Case '0'strtemp += '0000'Case '1'strtemp += '0001'Case '2'strtemp += '0010'Case '3'strtemp += '0011'Case '4'strtemp += '0100'Case '5'strtemp += '0101'Case '6'strtemp += '0110'Case '7'strtemp += '0111'Case '8'strtemp += '1000'Case '9'strtemp += '1001'Case 'A'strtemp += '1010'Case 'B'strtemp += '1011'Case 'C'strtemp += '1100'Case 'D'strtemp += '1101'Case 'E'strtemp += '1110'Case 'F'strtemp += '1111'End Choose
Next
str = strtemp //转换成二进制数组
For ll_row = 1 to 1010ll_number2[ll_row] = 0ll_number1[ll_row] = 0
Next
ll_number2[1] = 1
INt index = 0,li_add_array_length = 1
For ll_row = Upperbound(str) to 1 step -1If str[ll_row] = '1' ThenFor index = 1 to li_add_array_lengthll_number1[index] += ll_number2[index]If (ll_number1[index] > 9) Then//逢十进一              ll_number1[index + 1] ++;ll_number1[index] -= 10;End IfNextENd IFFor index = 1 to li_add_array_length//将数据翻倍 1 2 4 8 16ll_number2[index] += ll_number2[index]NextFor index = 1 To li_add_array_lengthIf ll_number2[index] > 9 Then//逢十进一ll_number2[index] -= 10ll_number2[index + 1] ++End IFNextIf ll_number2[index] <> 0 Then//进位li_add_array_length++End IF
Next
strtemp = ''
for ll_row = li_add_array_length to 1 step -1If strtemp = '' AND ll_number1[ll_row] = 0 Then continue//最高位为0则不放进去strtemp += String(ll_number1[ll_row])
Next
//Messagebox('',li_add_array_length)
Messagebox('',strtemp)

PowerBuilder实现16进制字符串转换为10进制字符串相关推荐

  1. 数据处理:16进制补码 转换为 10进制数值

    此功能仅为各位兄弟姐妹提供算法思路,由于功能简单直接上代码. 1. 16进制数值直接转换10进制 int HexToInt16_Complemwnt(unsigned char* data, int ...

  2. 8进制数转换为10进制数

    #include <string.h> int Reverse(char *p,int n) { int sum=0;int len=strlen(p);for(int i=0;i< ...

  3. C实现-8进制数转换为10进制数

    代码实现         思想:将数据作为字符串读取,在分别取每个数字计算即得.(程序中已详细注释,这里不再重复讲解) //导入头文件 #include<stdio.h> #include ...

  4. python 16进制转换为10进制,10进制转换为16进制。

    例子用的python2.7 16进制转换为10进制. 输入 0xaa 0XAB 返回 170 171 方法一,使用字典,自己写方法处理 #!/usr/bin/python #-*- coding:ut ...

  5. 16进制转换为10进制数——算法

    16进制转换为10进制数 题目描述 问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出. 注:十六进制数中的10~15分别用大写的英文字母A.B.C.D.E.F表示 ...

  6. 16进制字符串转10进制数值

    16进制字符串转10进制数值 描述 写出一个程序,接受一个十六进制的数,输出该数值的十进制表示. 数据范围:保证结果在 1≤n≤2^31−1 输入描述:输入一个十六进制的数值字符串. 输出描述:输出该 ...

  7. 将8进制字符串数值转换为10进制

    /* * 函数名:oct2dec * 说明:将8进制字符串数值转换为10进制 */ function oct2dec($bin){ // strrev() 函数反转字符串 $temp = strrev ...

  8. python16进制转10进制_python16进制转换为10进制

    python将十六进制转为十进制数字的程序怎么写 把十六进制的字串转为十进制数字: Python代码 >>> print int('ff', 16) 255 >>> ...

  9. 16进制数和10进制数之间的转换

    1.16进制转10进制数 parseInt(string, radix) 解析一个字符串并返回指定基数的十进制整数,radix 是 2-36 之间的整数,表示被解析字符串的基数. //将10这个字符指 ...

最新文章

  1. 打包python程序
  2. Filter案例之登录验证
  3. Linux访问其他进程空间,Linux环境进程间通信系列(五):共享内存
  4. python能做什么程序-Python能做什么,能够开发什么项目?
  5. 图片轮播html1001无标题,轮播图采用js、jquery实现无缝滚动和非无缝滚动的四种案例实现,兼容ie低版本浏览器...
  6. 64位和32位的寄存器和汇编的比较
  7. SSH学习之一 OpenSSH基本使用
  8. 计算机office基础知识题库,计算机一级MS Office基础考试题库
  9. 2022年3月显示器主观科普与配置选型
  10. python操作微信电脑版_python操作微信客户端:WechatPCAPI库实现自动化回复
  11. word添加MathType插件
  12. 观点|蚂蚁金服玉伯:我们是如何从前端技术进化到体验科技的?
  13. 启动openoffice命令
  14. 计算时间差 html,计算时间差的公式
  15. SOFAEnclave:蚂蚁金服新一代可信编程环境,让机密计算为金融业务保驾护航102年
  16. 60mph和kmh换算_mph和kmh换算(mph换算器)
  17. 利用PS实现图片的镜像处理
  18. 书签同步工具android,「效率工具推荐」跨平台在线云书签管理工具
  19. python真的如此好吗?
  20. DWZ表单验证规则一览表

热门文章

  1. matplotlib画图上角标(平方)怎么打出来
  2. 《程序员》 -- 技术团队新官上任之基层篇
  3. 求100以内质数(素数)的算法梳理
  4. Servlet之会话管理4个技术
  5. 用canvas生成图片为页面添加水印
  6. IDEA翻译插件Translate翻译失败报TKK: 更新 TKK 失败,请检查网络连接(已完结)
  7. 413 Request Entity Too Large问题解决方法
  8. 顶刊IJCV 2022!PageNet:面向端到端弱监督篇幅级手写中文文本识别
  9. 前端面试篇,应届生面试时被问项目经验不用慌,按这个步骤回答成功率高达95%
  10. 电脑开机密码怎么设置,教程在这里,Windows10系统下如何设置开机密码