问题标签 [bitstring]
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.
elixir - 固定字节长度位串的 Elixir typespec - 透析器不高兴
我正在尝试创建一个表示固定长度框架二进制数据包的类型规范。因此,使用固定 N字节的位串(例如 25 个字节)似乎是正确的想法。
Elixir typespec 文档说明了以下内容:
由此我假设您可以使用@spec my_type :: <_::25, _::_*8>>
但是 Dialyzer 会返回以下内容:
嗯?但它们都是位串,位长是一样的!
有人知道为什么 Dialyzer 不喜欢这个吗?
python - 浮点数为 32 位 IEEE754 单精度为 64 位
使用此代码时
我得到 64 位
但我需要浮点数(IEEE754 单精度 32 位)
>d 是做什么用的?
elixir - 从凤凰视图渲染位串
我有一个形式的位串bitstring = <<18::6,8::4,2::5,16::5,18::6,3000::16,0::4>>
。我想渲染,但毒药或杰森似乎没有渲染。在这样的响应中呈现位串的最佳方法是什么。
像这样的东西
string - 在位串中翻转一位的最佳方法是什么?
比如说,你有一个代表一个 8 位字节的 8 个字符的字符串;即'00000000'
(0),你想翻转一个位,使其成为'00010000'
(16)。最好或最优雅的方法是什么?
python - 通过串口发送位串
我一直在试图弄清楚如何使用串行模块通过 python 3 发送位串。最初,当我尝试对其进行 serial.write 时,它正在发送 1 和 0 的 ascii 代码。我是 python 新手,没有找到任何有帮助的答案,尽管现在已经研究了几天并试图理解。我正在尝试通过串行端口将位串发送到 arduino,它将解释它们并将它们显示在 LED 矩阵上。任何帮助将不胜感激,谢谢。
java - 使用 Huffman 码表 Java 解码 bitString
目标是使用 Huffman 代码表将 bitString 转换为纯文本,
我将霍夫曼代码表存储在两个不同的String[]
数组中:
根据霍夫曼码表,下面的bitString等价于字符串“helloworld”。
现在我想遍历每组位以匹配其对应的字符:
这里的问题是,每次找到匹配项时,我都找不到“重置”循环并返回的方法,b[0]
因此我可以b[i]
从头开始检查。
algorithm - (n 选择 k) 和长度为 n 且设置了 k 位的位串之间的双射
虽然我知道如何生成所有 ( n
choose k
) 大小n
的位串,位串完全k
设置为 1,但我正在努力寻找一个双射,它以和 ( choose )i
之间的数字作为输入,并在一个任意排序。1
n
k
i
显然,可以简单地枚举列表中的所有向量,然后输出列表的i
第 - 个条目,但不幸的是,这种方法对我的设置有很高的内存要求。
编辑:它也应该是一种有效的计算,计算每次调用双射的所有向量列表也不是一种选择。
python - Python:ValueError:int() 的无效文字,基数为 2:'1001001 1101101 ...."
我的 XOR 接受两个位串并返回这两个字符串的 XOR 值。我不认为 getXor 函数将位串读取为整数,我已经尝试进行更改,但我不确定我的努力在哪里没有奏效。
错误提示:
出现错误:ValueError:int() 的无效文字,基数为 2:'1001001 1101101 1110000 1100101 1100001 1100011 1101000 1101101 1100101 1101110 1110100'
我该如何解决?
python - 不明白为什么会出现这个“OverflowError: Python int too large to convert to C long”异常
此代码接受位串并将其转换为字符串。位串来自读取到客户端的 txt 文件,转换为位串然后发送到服务器。
有问题的位串是:
10010011101101111000011001011100001110001111010001101101110010111011101110100100000110010110000110010110000100001
呼出这条线
并给出错误:
我将如何解决这个问题?
完整的服务器代码:
python - Python中的16位艺术和
我正在开发一个程序,该程序正在为立方体卫星项目创建 IRIG106 第 10 章数据。目前它正在 python 中实现,我很难实现第 10 章标题的最后一个组件。
我实现它的方式我目前发现校验和值大于规范定义的大小(2 个字节)的整数内的大小。
该标准在IRIG 106-09 标准的第 10.6.1.1 节“J”段中定义了标头校验和。它定义如下:
J 标头校验和。(2 字节) 包含一个值,该值表示标题中除标题校验和字之外的所有 16 位字的 16 位算术和。
还提供了一份编程手册,其中包含显示以下内容的示例 C 代码(来自第 A-2-17 页):
我使用BitString 库在 Python 中实现了以下内容:
您可以提供的任何想法或见解将不胜感激。我知道这应该是一个简单的解决方案,但我只是看不到它。
--- 更新 2 --- 我尝试同时进行翻转和截断,它们都产生了相同的结果:
--- 更新 3 ---
当我比较 python 和 C 校验和函数的执行时,我遇到了以下情况,使用这些值作为规范的输入:
当我比较每个步骤的输出时,我看到以下内容:
C:
Python: