问题标签 [radix]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - 您如何计算除 10 以外的基数中的浮点数?
鉴于维基百科关于Radix Point的文章,如何计算 10.1 的二进制等价物或 17.17 的十六进制等价物?对于前者,十分之一的二进制等价物是多少?对于后者,17/100 的十六进制表示?
我正在寻找一种算法,而不是仅仅针对这两个示例的解决方案。
string - 对任意长度的二进制字符串进行基数排序
我四处搜索,看到很多关于二进制字符串的基数排序的讨论,但它们都具有相同的长度,如何使用任意长度的二进制字符串?
假设我有 {"001", "10101", "011010", "10", "111"},我如何对它们进行基数排序?谢谢!
java - 尝试实现
我正在尝试用 Java 实现一个非常简单的 Trie,它支持 3 个操作。我希望它有一个 insert 方法、一个 has 方法(即 trie 中的某个单词)和一个 toString 方法以字符串形式返回 trie。我相信我的插入工作正常,但 has 和 toString 被证明是困难的。这是我到目前为止所拥有的。
trie 类。
和节点类
因此,基本上,在创建 Trie 时,会创建一个 TrieNode 作为具有 26 个子节点的根。当尝试插入时,会在该根节点上调用 insert,它会在正确的位置递归地创建一个新节点,并继续直到单词完成。我相信该方法工作正常。
我的 has 函数非常糟糕,因为出于某种原因,我必须在括号外加上 return 语句。我不能将它包含在 else 子句中,否则编译器会抱怨。除此之外,我认为该方法应该进行一些调整,但我无法终生解决。
toString 是我试图解决的野兽,但我扔给它的任何东西都不起作用,所以我会保留它,直到我解决问题。如果我有工作,我可能会想办法将它重新格式化为 toString 函数。
int val = word.charAt(0) - 64; 的目的 是因为输入的每个字符串都必须全部大写(我将创建一个字符串格式化函数来确保这一点)所以第一个字母的 int 值 - 64 将是它在数组中的位置。即数组索引0是A,所以A = 64,A - 64 = 0。B = 65,B - 64 = 1,依此类推。
math - 如何将一个以 8 为底的数字转换为以 10 为底的数字?
我知道 75(base8) = 61(base10),但我不能轻易找到这个公式。如何从 8 进制转换为 10 进制?
python - 如何将整数转换为任何基数的字符串?
Python允许通过给定基数的字符串轻松创建整数
我想执行相反的操作:从整数创建字符串,即我想要一些函数int2base(num, base)
,例如:
函数名/参数顺序并不重要。
对于任何可以接受的数字和基数x
。b
int()
这是一个易于编写的函数:实际上它比在这个问题中描述它更容易。但是,我觉得我一定错过了什么。
我知道函数bin
, oct
, hex
,但由于以下几个原因我不能使用它们:
这些功能在旧版本的 Python 上不可用,我需要与 (2.2) 兼容
我想要一个通用的解决方案,可以针对不同的基础以相同的方式调用
我想允许 2、8、16 以外的碱基
有关的
java - 实现 Patricia Trie 以用作字典
我正在尝试使用 , 和 方法实现 Patricia Trie addWord()
,isWord()
并将isPrefix()
其作为一种存储大型单词字典以便快速检索(包括前缀搜索)的方法。我已经阅读了这些概念,但它们只是没有阐明实现。我想知道(在 Java 或 Python 代码中)如何实现 Trie,尤其是节点(或者我应该递归地实现它)。我看到一个人用一组 26 个子节点设置为 null/None 来实现它。是否有更好的策略(例如将字母视为位)以及您将如何实施?
java - java中的LSD基数排序代码
我正在准备一场关于排序算法的考试。一位朋友给了我这个关于 LSD 基数排序的代码,我不明白他为什么使用数字 96,97 和 64?我读过一些关于 LSD 基数排序的东西,但我不明白它是如何工作的。
c - snprintf:简单的强制方法。作为基数?
我的程序在一台机器上运行不正确,所以我开始寻找错误,我发现在那台机器上,snprintf 使用逗号 (,),而不是 . (点)与 99% 的其他计算机一样(至少根据我的经验)。
这不应该标准化吗?
我正在使用一个假设基数是 . (点),所以它不能与逗号一起正常工作。
所以我的问题是,有没有一种简单的方法可以强制将点作为基数字符?我知道我可以手动搜索并用点替换逗号,但肯定有更清洁的方法。
javascript - 带有基数 16 的 Javascript parseInt 问题
警报语句 alert(parseInt("0x00C02700010004E9",16));
错误地显示 54086076498707690 而不是正确的值 54086076498707689。请注意最后两位!
谁能阐明我做错了什么?
algorithm - 是否可以流式传输十六进制数字并以十进制输出流而不等待所有数据出现
假设您有一个包含千兆字节的文件
并且您想将其转换为十进制,就像您将 0xdeadbeef 转换为 3,735,928,559 一样。
数字可被 2 整除的基数很容易做到这一点,因为您可以每隔几位操作并输出一个数字(base64 为 6)。
有没有办法用十进制做到这一点?
编辑:该文件代表一个长数字。它重复自己的事实与数字 55,055,055,055 没有什么不同。
EDIT2:文件的大小是已知的。然后怎样呢?