PowerBuilder实现16进制字符串转换为10进制字符串
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进制字符串相关推荐
- 数据处理:16进制补码 转换为 10进制数值
此功能仅为各位兄弟姐妹提供算法思路,由于功能简单直接上代码. 1. 16进制数值直接转换10进制 int HexToInt16_Complemwnt(unsigned char* data, int ...
- 8进制数转换为10进制数
#include <string.h> int Reverse(char *p,int n) { int sum=0;int len=strlen(p);for(int i=0;i< ...
- C实现-8进制数转换为10进制数
代码实现 思想:将数据作为字符串读取,在分别取每个数字计算即得.(程序中已详细注释,这里不再重复讲解) //导入头文件 #include<stdio.h> #include ...
- python 16进制转换为10进制,10进制转换为16进制。
例子用的python2.7 16进制转换为10进制. 输入 0xaa 0XAB 返回 170 171 方法一,使用字典,自己写方法处理 #!/usr/bin/python #-*- coding:ut ...
- 16进制转换为10进制数——算法
16进制转换为10进制数 题目描述 问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出. 注:十六进制数中的10~15分别用大写的英文字母A.B.C.D.E.F表示 ...
- 16进制字符串转10进制数值
16进制字符串转10进制数值 描述 写出一个程序,接受一个十六进制的数,输出该数值的十进制表示. 数据范围:保证结果在 1≤n≤2^31−1 输入描述:输入一个十六进制的数值字符串. 输出描述:输出该 ...
- 将8进制字符串数值转换为10进制
/* * 函数名:oct2dec * 说明:将8进制字符串数值转换为10进制 */ function oct2dec($bin){ // strrev() 函数反转字符串 $temp = strrev ...
- python16进制转10进制_python16进制转换为10进制
python将十六进制转为十进制数字的程序怎么写 把十六进制的字串转为十进制数字: Python代码 >>> print int('ff', 16) 255 >>> ...
- 16进制数和10进制数之间的转换
1.16进制转10进制数 parseInt(string, radix) 解析一个字符串并返回指定基数的十进制整数,radix 是 2-36 之间的整数,表示被解析字符串的基数. //将10这个字符指 ...
最新文章
- 打包python程序
- Filter案例之登录验证
- Linux访问其他进程空间,Linux环境进程间通信系列(五):共享内存
- python能做什么程序-Python能做什么,能够开发什么项目?
- 图片轮播html1001无标题,轮播图采用js、jquery实现无缝滚动和非无缝滚动的四种案例实现,兼容ie低版本浏览器...
- 64位和32位的寄存器和汇编的比较
- SSH学习之一 OpenSSH基本使用
- 计算机office基础知识题库,计算机一级MS Office基础考试题库
- 2022年3月显示器主观科普与配置选型
- python操作微信电脑版_python操作微信客户端:WechatPCAPI库实现自动化回复
- word添加MathType插件
- 观点|蚂蚁金服玉伯:我们是如何从前端技术进化到体验科技的?
- 启动openoffice命令
- 计算时间差 html,计算时间差的公式
- SOFAEnclave:蚂蚁金服新一代可信编程环境,让机密计算为金融业务保驾护航102年
- 60mph和kmh换算_mph和kmh换算(mph换算器)
- 利用PS实现图片的镜像处理
- 书签同步工具android,「效率工具推荐」跨平台在线云书签管理工具
- python真的如此好吗?
- DWZ表单验证规则一览表
热门文章
- matplotlib画图上角标(平方)怎么打出来
- 《程序员》 -- 技术团队新官上任之基层篇
- 求100以内质数(素数)的算法梳理
- Servlet之会话管理4个技术
- 用canvas生成图片为页面添加水印
- IDEA翻译插件Translate翻译失败报TKK: 更新 TKK 失败,请检查网络连接(已完结)
- 413 Request Entity Too Large问题解决方法
- 顶刊IJCV 2022!PageNet:面向端到端弱监督篇幅级手写中文文本识别
- 前端面试篇,应届生面试时被问项目经验不用慌,按这个步骤回答成功率高达95%
- 电脑开机密码怎么设置,教程在这里,Windows10系统下如何设置开机密码