<html> <title>超级(无限)大的 --- 整型10进制数据与16进制数据相互转换</title> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="keywords" content="数据压缩算法,超过整数表示范围的大数据算术运算,大进制数据互相转换" /> <meta name="keywords" content="高效的乘除法竖式计算模型,乘法转换成加法运算,除法转换成减法运算" /> <meta name="keywords" content="原创作者:zhengzizhi@126.com" /> <script type="text/javascript"> function test16to10(){ var arr= document.getElementsByTagName("input"); for(var i=0;i<arr.length;i++) { if((arr[i].type == "text" )&&(arr[i].name == "A0116")){ document.getElementsByName("A0110")[0].value = convertBig16ToInt(arr[i].value); //parseInt(arr[i].value,16).toString(10); } } } function test10to16(){ var arr= document.getElementsByTagName("input"); for(var i=0;i<arr.length;i++){ if((arr[i].type == "text" )&&(arr[i].name == "B0110")){ document.getElementsByName("B0116")[0].value = convertBigIntTo16(arr[i].value); //parseInt(arr[i].value,10).toString(16); } } } function convertBigIntTo16(data){ data = data.replace(/^(\s|\xA0)+|(\s|\xA0)+$/g, ''); var dataLength = data.length; if(isNaN(data) || dataLength == 0) return ''; var yuShu = 0; var shang = 0; var x = 0; var index = 0; var yuShuArr = new Array(); var shangArr = new Array(); while (dataLength > 1){ yuShu = 0; shang = 0; x = 0; index = 0; shangArr = []; while(index < dataLength){ while(index < dataLength){ x = yuShu * 10 + parseInt(data.substr(index,1)); yuShu = x; if(x > 15){ index = index + 1; break; }else if((index > 1)&&(index + 1 != dataLength)){ shangArr.push('0'); } index = index + 1; } shang = parseInt(x/16); yuShu = x % 16; shangArr.push(shang.toString()); } yuShuArr.push(yuShu.toString()); data = shangArr.join(''); dataLength = data.length; } if (dataLength == 1) yuShuArr.push(data); for(var i = 0; i < yuShuArr.length; i++){ if (yuShuArr[i] == 10) yuShuArr[i] = "a"; else if (yuShuArr[i] == 11) yuShuArr[i] = "b"; else if (yuShuArr[i] == 12) yuShuArr[i] = "c"; else if (yuShuArr[i] == 13) yuShuArr[i] = "d"; else if (yuShuArr[i] == 14) yuShuArr[i] = "e"; else if (yuShuArr[i] == 15) yuShuArr[i] = "f"; } if(yuShuArr[yuShuArr.length -1] == '0') yuShuArr.pop(); var result = yuShuArr.reverse().join(''); return result; } function convertBig16ToInt(data){ data = data.replace(/^(\s|\xA0)+|(\s|\xA0)+$/g, ''); var dataLength = data.length; if (dataLength == 0) return ''; var index = 0; var x = 0; var geArr = new Array(); var geTohighArr = new Array(); var shiTohighArr = new Array(); var yuShuArr = new Array(); var resultArr = new Array(); resultArr[0] = '0'; var arr16 = new Array(); arr16['0'] = '0'; arr16['1'] = '1'; arr16['2'] = '2'; arr16['3'] = '3'; arr16['4'] = '4'; arr16['5'] = '5'; arr16['6'] = '6'; arr16['7'] = '7'; arr16['8'] = '8'; arr16['9'] = '9'; arr16['a'] = '10'; arr16['b'] = '11'; arr16['c'] = '12'; arr16['d'] = '13'; arr16['e'] = '14'; arr16['f'] = '15'; while(index < dataLength){ geArr = resultArr; resultArr = []; geTohighArr = []; for(var i=0;i<geArr.length;i++){ x = 0; x = parseInt(i < geArr.length ? geArr[i] : '0') * 6; x = x + parseInt(i < geTohighArr.length ? geTohighArr[i] : '0'); geTohighArr[i] = x % 10; if(x > 0) geTohighArr[i+1] = parseInt(x / 10); } shiTohighArr = []; geArr.unshift(0); for(var i=0;i<geArr.length;i++){ x = 0; x = parseInt(i < geArr.length ? geArr[i] : '0'); x = x + parseInt(i < geTohighArr.length ? geTohighArr[i] : '0'); x = x + parseInt(i < shiTohighArr.length ? shiTohighArr[i] : '0'); shiTohighArr[i] = x % 10; if(x > 0) shiTohighArr[i+1] = parseInt(x / 10); } geArr = [] ; yuShuArr = []; yuShuArr = arr16[data.substr(index,1)].split('').reverse(); for(var i=0;i<shiTohighArr.length;i++){ x = 0; x = x + parseInt(i < shiTohighArr.length ? shiTohighArr[i] : '0'); x = x + parseInt(i < yuShuArr.length ? yuShuArr[i] : '0'); x = x + parseInt(i < resultArr.length ? resultArr[i] : '0'); resultArr[i] = x % 10; if(x > 9) resultArr[i+1] = parseInt(x / 10); } index = index + 1; } if(resultArr[resultArr.length -1] == 0) resultArr.pop(); var result = resultArr.reverse().join(''); return result; } </script> <head> <body> <div><b>十进制数:16001600016 十六进制数:3b9c50a10 </b></div><br> <div><b>十进制数:1600160000 十六进制数:5f608100 </b></div><br> <div><b>十进制数:12345678901234567890 十六进制数:ab54a98ceb1f0ad2 </b></div><br> <div><b>十进制数:12662001107270911155 十六进制数:afb876ebc07c44b3 </b></div><br> <div><b>十进制数:4721702174050929320 十六进制数:4186db1c537ecaa8 </b></div><br> <div><b>十进制数:16279334710358849629 十六进制数:e1ebd0aadea0385d </b></div><br> <div><b>十进制数:14499311425014492826 十六进制数:c937e6eb9fc06e9a </b></div><br> <div><b>十进制数:18379191081977372545 十六进制数:ff1000e97449df81 </b></div><br> <div><b>十进制数:3228213681276039511 十六进制数:2ccceb3d4383b157 </b></div><br> <div id="xy"> <div><b>十六进制数转换成十进制数</b></div><br> 十六进制:<input type="text" name="A0116" /> 十进制数:<input type="text" name="A0110" readonly="readonly"/><br> <input type="button" value="开始转换" onclick="test16to10()" /><br><br> </div> <div id="xyz"> <div><b>十进制数转换成十六进制数</b></div><br> 十进制数:<input type="text" name="B0110" /> 十六进制:<input type="text" name="B0116" readonly="readonly"/><br> <input type="button" value="开始转换" onclick="test10to16()" /> </div> </body> </html>
相关推荐
16进制与10进制数据转换工具,主要用于程序读写PLC,单片机等数据时读取的16进制数据转换成10进制的数,解决初学者的疑惑,数据在单片机或PLC中存储时是以bit、字节为单元存储的,不管是整型数还是浮点数,最终都是...
该程序可实现任意进制与10进制的互转, 也可以实现任意进制互相转换, 移植方便,程序是验证通过的。 绝对好用。
16进制与有符号10进制间的相互转换,支持16进制数转换为有符号10进制数,或将有符号10进制转换为16进制数,可选包含1、2、4、8字节。
在C#中可以对整型运算对象按位进行逻辑运算,同时也可以实现C# 16进制转换10进制,C#10进制转换2进制等功能。
这是一个进制转换的vc源码,将在字符串中16进制表示的数转换为10进制的整数
VC进制转换:10进制整型转2、8、16进制
转换工具~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
适用于在通讯时可以用到的实例,16进制转换为二进制,已经测试OK.
16进制转换为10进制--C#源码--强大功能串口在C#中可以对整型运算对象按位进行逻辑运算...
该代码可以实现单精度浮点数和16进制字符之间的转换,包含源代码
32位(二进制-十六进制-十进制)转换工具 这个我在别人机器上试过了,可用!!!! 这个我在别人机器上试过了,可用!!!! 这个我在别人机器上试过了,可用!!!! 这个我在别人机器上试过了,可用!!!!
Matlab将十六进制数转换为十进制数(有符号)(十六转十)
在使用Pyserial与STM32进行通讯时,遇到了需要将十六进制整数以Ascii码编码的字符串进行发送并且将接收到的Ascii码编码的字符串转换成十六进制整型的问题。查阅网上的资料后,均没有符合要求的,遂结合各家之长,用...
包含ASIIC、16进制,数值,字符串互转;二进制,十六进制互转;十进制显示的十六进制格式字符串转Labview所识别的十六进制,通讯下位机必备技能。总共8个VI!
10进制整型转2、8、16进制 vc
/*C 语言 16进制数字 转换成 10进制数字 比如 16进制数字“0x5264”转换成输出整形“5264”*/
十六进制转化为十进制(C编写,附代码) 采用调用函数htoi
* 将十六进制数字组成的字符串(包含可选的前缀0x或0X)转换为与之等价的整型值 */ #include #include <math.h> /* 将十六进制中的字符装换为对应的整数 */ int hexchtoi(char hexch ) { char phexch[] = ...
CVI串口字符串16进制转换
十进制整数和十六进制字符串转换,文件仅包含两个函数。