2019-08-25超长10进制int转换成16进制,最短代码

1,使用js过程中,有一个需求,是超长的数据,10进制到16进制互转,,

2,由于本人有压缩代码的强烈欲望,故将自己写的一个函数极限压缩到了一行,

3,本人觉得,压缩代码能够锻炼写代码的精简程度,

4,大家要是有更多的压缩方向,可以提交代码,大家一起瞧瞧

这是原始代码,下面是复制的字符串代码

function $10To16($num) {

// let $list = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];

// return $num > 1 ? $10To16(BigInt($num / 16n)) + st : st;

// let st = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' ][$num % 16n];

// return ($num > 1 ? $10To16($num / 16n) : '') + ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g'][$num % 16n];

    return (($n2 = $num /16n) &&$n2 >0 ?$10To16($n2) :'') + ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'][$num %16n];

}

$ = $num => (($n2 = $num /16n) &&$n2 >0 ?$($n2) :'') + ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'][$num %16n];

console.log($10To16(BigInt('100000000000000000000000000000000000000000000000000000000000000')));

console.log($(BigInt('100000000000000000000000000000000000000000000000000000000000000')));

又删除了一段 ,这个更短,
$ = $num => (($n2 = $num /16n) ?$($n2) :'') + ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'][$num %16n];

这个最短,欢迎测试,

$ = $0 => (($1 = $0 /16n) ?$($1) :'') + String.fromCharCode(($2 = Number($0 %16n)) >9 ?$2 +87 :$2 +48);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 专业考题类型管理运行工作负责人一般作业考题内容选项A选项B选项C选项D选项E选项F正确答案 变电单选GYSZ本规程...
    小白兔去钓鱼阅读 10,986评论 0 13
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 4,152评论 0 2
  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 2,200评论 0 2
  • 1. 关于诊断X线机准直器的作用,错误的是()。 (6.0 分) A. 显示照射野 B. 显示中心线 C. 屏蔽多...
    我们村我最帅阅读 11,642评论 0 5
  • 不支持上传文件,所以就复制过来了。作者信息什么的都没删。对前端基本属于一窍不通,所以没有任何修改,反正用着没问题就...
    全栈在路上阅读 2,084评论 0 2

友情链接更多精彩内容