|
|
1
20
这是个有趣的问题,所以我有点过火了:
这适用于任意基。它只适用于整数,尽管没有理由不能扩展到任何任意数。而且,它忽略了数字的符号。再说一遍,没有理由这么做 这样做,但主要是我不想在返回值中提出一个返回符号的约定。
它还接受一个可选的分隔符,用于分隔数字。
例如,这允许您通过将IPv4地址视为base-256数字并使用标识进行映射和设置,来格式化IPv4地址
|
|
|
2
3
这方面的伪代码相当简单。从无符号整数以85为基数:
以10为基数:
|
|
|
3
1
只是一个通用的伪码算法:
|
|
|
4
0
以相反的顺序写下提醒:11,53,12得到你的基数85。 要取回它:
|
|
|
5
0
|
|
|
6
0
我能想到的最简单的算法是(在伪代码中):
|
|
|
7
0
base85对于二进制数据的ASCII编码特别有用,我想这就是您使用它的目的(然而,如果这就是为什么你应该问问自己,它是否真的值得额外的麻烦,以及64进制是否不够好。) 如果您将此用作编码方案,您的工作将是将整数(4字节)转换为5个base85数字的组(如何处理不是4字节倍数的事情取决于你——通常结尾用零填充。有关详细信息,请参见Base85上的Wikipedia页面。)
这不必担心溢出,不必担心添加33以进入ASCII范围,也不必担心将0编码为
|
|
|
8
0
|
|
|
Muhammad Umer · 为什么这个随机数猜谜游戏模拟产生5.8 1 年前 |
|
|
Alisa Petrova · 在有向图中更改一对顶点以创建循环 1 年前 |
|
|
D W · Python-将浮点数从2转换为10到100位小数 1 年前 |
|
|
Bartol · 确定python龟图形中的角度 1 年前 |
|
|
randomAlgo · 将弹簧设置为相同长度的成本最低 2 年前 |
|
Fyodor · 在C中使用sin和cos计算数学表达式不正确? 2 年前 |
|
Sergio · python中大量数字的乘法 2 年前 |