问题标签 [binary]
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.
sql - SQL:以二进制值获取索引处的值
是否有可以在查询、存储过程、函数中使用的 SQL 命令,该命令适用于类似于以下 C# 代码的二进制类型?
我想检查二进制中某个位置的索引是否是某个值,而不是拉下整个数组并进行比较?
algorithm - 大多数来自 4 位的二进制组合,每位更改一次
我有 4 个二进制位
通常答案很简单:2^4,或 16 种不同的组合;它看起来像下面这样:
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
但是,LSB(位 0)每次迭代都会改变状态。
我需要一种算法,其中位的状态在所有迭代中只改变一次;即,我需要我所有的位都像 MSB(位 3)一样工作。
我怎样才能做到这一点?
编辑
似乎大多数人都认为只有 5 种可能的解决方案。然而,这假设有一个值的起点和一个终点。这没关系,所以我将给出一个真实世界的场景来更好地解释。
假设我有一个数字闹钟,可以提供 4 个输出。每个输出都可以被编程为在某个时间打开和在某个时间关闭,并且可以彼此独立地进行编程,例如。我可以将输出 1 编程为在凌晨 1 点打开并在凌晨 3 点关闭,而我可以将输出 2 编程为在下午 7 点打开并在凌晨 2 点关闭。每个输出可以保持多长时间没有限制。
现在我想把这个闹钟挂在电脑上,尽可能接近当前的正确时间。例如,如果时钟显示时间是下午 2:15,我的电脑就知道闹钟在下午 12 点到下午 6 点的范围内。我希望能够获得尽可能小的范围。我能得到的最小范围是多少?
c++ - 如何在 C/C++ 中处理二进制数据
我必须对整数做一些工作,但我有兴趣将它们视为二进制数据,例如我可以获取 32 位值的 4 个最高有效位。我想要做的是,我有几个 32 位值,例如,第一个 4 位,第二个 6 位和最后一个 22 位,然后将它们连接起来并获得另一个 32 位值.
谁能推荐任何图书馆或任何其他方式来做到这一点?谢谢你。
java - 编程问题 - 传真压缩
我正准备通过完成过去比赛中的问题来参加计算机科学比赛。他们中的大多数都很容易,但是这个让我很烦……看起来很简单,但我就是做不到。
如果你有一串一和零:
将其作为输入然后输出的代码是什么:
其中每个冒号左边的数字是冒号后面的数字出现的次数。
所以,另一个例子......输入:
会输出:
根据问题,这类似于用于压缩传真传输的算法。
java中的答案是最好的,但我真正在寻找的是伪代码,甚至是关于如何去做的想法。
提前致谢。
delphi - 在delphi中快速读取/写入文件
我正在以二进制形式将文件加载到数组中,这似乎需要一段时间是否有更好更快更有效的方法来做到这一点。我正在使用类似的方法写回文件。
c# - Dictionary 上 .NET 二进制序列化的奇怪行为
至少在我的预期中,我在 .NET 的二进制序列化中遇到了一个奇怪的行为。
a 的所有加载项都在回调Dictionary
之后添加到它们的父项。OnDeserialization
反之List
则相反。这在现实世界的存储库代码中可能真的很烦人,例如当您需要向字典项添加一些委托时。请检查示例代码并观察断言。
这是正常行为吗?
svn - 如何明确告诉 SVN 将文件视为文本,而不是二进制文件
我有许多文件在没有正确设置它们的 Mime 类型的情况下签入 SVN。SVN 最初将它们分类为二进制。
我已经通过 propset 在 SVN 中将他们的 Mime 类型设置为“text/plain; charset=UTF-8”,并且我确保所有文件都是 UTF-8 签名的。当我执行 'svn blame filename' 时,svn 说该文件是二进制文件并且没有给我明确的责备类型输出。
关于如何说服 SVN 这些是真正的文本文件的任何建议?
language-agnostic - 检测整数内的单个一位流
我必须检查一个数字是否满足以下条件:
- 在二进制中,所有一位必须是连续的。
- 该数字必须至少设置一位。
- 连续的一位可能从 MSB 开始或在 LSB 结束,因此如果该数字由单个一位流和一个零位流组成,则完全有效,反之亦然。
我编写了一个代码来检查这些条件是否存在实际问题(检查数据文件完整性)。
它可以正常工作,而且时间紧迫,但我是一个老顽固的怪胎,喜欢这样的谜题,所以我试图想出一种更聪明的方法来检查单比特流。
字符串被零包围的情况很容易,但不能处理特殊情况。
欢迎任何想法、二进制黑客和部分解决方案!
为了让我的要求更清楚一些例子:以下数字满足我的标准:
以下数字没有(因为它们有多个连续的一串):
c# - 将 BCD 转换为二进制的最有效方法
我有下面的代码将 32 位 BCD 值(以两个 uint 一半提供)转换为 uint 二进制值。
提供的值最大为 0x9999,形成最大值 0x99999999。
有没有更好(即更快)的方法来实现这一目标?
java - 用于从字符串解码二进制编码的十进制 (BCD) 的 Java 代码或库
我有一个由 1 ('\u0031') 和 0's('\u0030') 组成的字符串,代表 BCD 值。
具体来说,该字符串是 112 个字符,分别是 1 和 0,我需要一次提取 8 个或 16 个字符,并将它们从 BCD 解码为十进制。
想法?包裹?库?代码?欢迎一切。