因项目需求,需要把一串数字压缩长度传给服务器,然后再从服务器获取出来压缩后的数据,转成正常的数据。

想到往高进制转换,从而达到压缩的目的,项目中也实现了需求,但后来整理压缩代码时发现,一个很大的数转换成高进制后,和在线进制转换工具转换的不一样,但是用下面的方法,十进制转成高进制后,再用高进制把数转换成十进制,还是原来的数没有问题。

十进制转换成 2进制、4进制、8进制、16进制、32进制都是没问题的,

例如:

double param = 1234567890123456789l; 转换35进制就出现了问题

在线工具转换:criyupwhjklx
代码转换:       criyupwhjkkx

基本都是后三位出现问题。

不知道为什么十进制转换成有些高进制后和在线工具转换的不一样!!!求解答;

        String conversion = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";/*** @param random 把10进制转换成几进制?* @param param 要转换的数据* @return*/private static String int10Torandom(int random,double param) {String[] sz = conversion.split("");String result="";boolean tag=true;while (tag) {if (param > random) {result = sz[(int) (param%random)] + result;param = param/random;} else if (param == random) {result = "01" + result;tag = false;} else {result = sz[(int) param] + result;tag = false;}}return result;}/*** @param random 几进制转换成10进制?* @param param 要转换的数据* @return*/public static double randomTo10(int random,String param) {double result = 0;String[] arr = param.split("");int i = 0;while (i < arr.length) {result = result + (conversion.indexOf(arr[i]) * Math.pow(random, arr.length-i-1));i++;}return result;}

通过十进制转换成高进制来缩短数据长度相关推荐

  1. 使用递归将十进制转换成任意进制(Number Conversion)

    关于递归 什么是递归? 说白了,就是函数自己调用自己,然后被调用的函数继续调用自己,这将无限循环下去,除非代码中有终止调用链的的内容. 解释一下递归的所经历的过程 递归需要有边界条件.递归前进段和递归 ...

  2. 关于十进制转换成n进制问题的解法

    在进行十进制转换成n<10进制问题时,我们通常将需要转换的数字除以n,进而能够得到一个商和余数,然后将余数保留在一个新创造的数组中,通过不断的对商进行除以n,得到新的商和余数,余数再次进行保存, ...

  3. python实现十进制转换成十六以内任意进制

    十进制转换成二进制 十进制转换成二进制,采用的是"除以2求余数"的计算方法,如下所示: "除以2"的过程,得到的余数是从低到高的次序,而需要的带的输出是从高位到 ...

  4. c语言中如何将字符串转成16进制,用c语言写一个函数把十进制转换成十六进制,该如何处理...

    用c语言写一个函数把十进制转换成十六进制 用c语言写一个函数把十进制转换成十六进制 网上找到一些,感觉有占乱 分享到: ------解决方案-------------------- #include ...

  5. C语言 十进制转换成二进制

    /*十进制转换成二进制*/#include<stdio.h>int main(int argc,char argv[]){int num,i;scanf("%d",&a ...

  6. C语言十进制转换成二进制、八进制、十六进制

    一.绪论 十六进制(Hexadecimal):在数学中是一种逢16进1的进位制.一般用数字0到9和字母A到F(或a~f)表示,其中:A~F表示10~15. 十进制(Decimal System):每相 ...

  7. 蓝桥杯C/C++每日一练之十进制转换成十六进制

    第十三届蓝桥杯大赛个人赛省赛比赛将于2022年4月9日(星期六)举办,趁现在寒假的时间抓紧时间备战一下.因为博主本人报名是C/C++组,所以更新所有内容都是C/C++相关知识.题目全部都是蓝桥杯官网题 ...

  8. 十进制转换任意进制--链栈实现

    首先,先了解一下c语言const用法: 修饰局部变量,int const a = 9; const int b = 8;这两种写法是一样的,表示a和b都是常量,不可改变.需要注意的是,用const修饰 ...

  9. C语言十进制转换成二进制源码

    把开发过程比较重要的一些内容备份一次,下边资料是关于C语言十进制转换成二进制的内容,应该对各位朋友有一些用. #include int main() { int num; std::cout < ...

最新文章

  1. 12个不可不知的Sublime Text应用技巧和诀窍
  2. 查询数据库表名,数据表信息,MySQL Key值(PRI, UNI, MUL)的含义
  3. 利用Web Services开发分布式应用
  4. java list 去空字符串_【JAVA基础】list和字符串判空
  5. volatile 关键字解析
  6. 解决eclipse和myeclipse不能编译项目的问题
  7. Windows编程—控制面板程序显示信息修改(程序图标、名称、链接等)
  8. 快速配置vs2012+opencv
  9. bzoj4009: [HNOI2015]接水果
  10. 51单片机-STC89C52系列学习第一篇之IO口学习
  11. 女子人身安全防卫指南
  12. ****怎么解决UBUNTU里面VIM编辑器键盘错乱问题****
  13. Qt 自定义tablewidget(背景色,标题箭头)
  14. 计算最高分,最低分,平均分
  15. 【EARLIER/EARLIEST函数】引用不存在的更早的行上下文 报错解决
  16. LED大屏实现“人屏”互动的方式有哪些?
  17. backtrader FAQ:什么是一篮子订单Bracket Orders optMaster
  18. php spry文本域_Spry是什么?Spry实例用法总结
  19. Streptavidin-MAL,Maleimide 马来酰亚胺修饰/标记/偶联链霉亲和素
  20. 技术人员需要了解的手机验证码登录风险

热门文章

  1. 微信小程序自定义修改swiper指示点样式
  2. vb6压缩Access数据库使用JRO.JetEngine
  3. Git、Gitee简单操作
  4. data fastboot 擦除_Fastboot刷机命令操作要点
  5. 基于http的cookie和JSON储存
  6. 查看Windows版本信息
  7. 【Python金融量化】财经新闻文本分析
  8. 基于Andriod的智慧校园卡系统的设计与实现
  9. WordPress显示评论者IP归属地、浏览器、终端设备、电信运营商
  10. 中国量子信息化传输获突破(非隐形传输)