- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何确保从 BitArray 更改位时,BitArray 值保持在一个范围内。
示例:
Given the range [-5.12, 5.12] and
a = 0100000000000000011000100100110111010010111100011010100111111100 ( = 2.048)
通过在随机位置改变一点,我需要确保新值保持在给定范围内。
最佳答案
我不是 100% 确定您在做什么,并且此答案假定您当前将 a
存储为 64 位值 (long
)。以下代码可能会帮助您指明正确的方向。
const double minValue = -5.12;
const double maxValue = 5.12;
var initialValue = Convert.ToInt64("100000000000000011000100100110111010010111100011010100111111100", 2);
var changedValue = ChangeRandomBit(initialValue); // However you're doing this
var changedValueAsDouble = BitConverter.Int64BitsToDouble(initialValue);
if ((changedValueAsDouble < minValue) || (changedValueAsDouble > maxValue))
{
// Do something
}
关于c# - BitArray 改变范围内的位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23249240/
我有一个包含以下内容的 BitArray: byte[] myBytes = {0, 0, 2, 176, 168, 3, 19, 0}; BitArray myBitArr = new BitArr
我需要将一个 BitArray(来自 std.bitmanip)分成两半。直到现在我发现切片没有实现,迭代它并附加或分配总是会产生超出范围的异常。我试图将它转换为其他类型(它适合 long/ulong
我该怎么做?我正在尝试计算两个数组何时在同一索引处具有相同的 TRUE/1 值。如您所见,我的代码有多个位数组,并且循环遍历每个位数组,并将它们与带有另一个循环的 comparisonArray 进行
我正在创建一个软件包,它一次接受 16 个 bool 值,将它们放入一个位数组中,然后将它们发送到 PLC 以供 PLC 解包和使用。我的问题有两个: 1) 如果我制作一个 BitArray(16),
我有不同大小的 BitArray,我想在十六进制字符串中进行转换。 我试图将 BitArray 转换为 byte[],但它没有给我正确的格式。 ( Converting a boolean array
如何确保从 BitArray 更改位时,BitArray 值保持在一个范围内。 示例: Given the range [-5.12, 5.12] and a = 010000000000000001
我正在寻找有关并发写入 System.Collections.BitArray 类的线程安全性的信息。 具体来说,请考虑以下人为设计的示例: BitArray bits = new BitArray(
我目前正在尝试使用 BitSet 在 C 中实现埃拉托色尼筛法,但是当我尝试筛选高达 1,000,000(100 万)- 100,000(100,000)的素数时,我遇到了段错误虽然我不明白为什么会出
我试过这样的: BitArray bits = new BitArray(00001110); 但结果是1110 似乎 BitArray 删除了前导零。 是否可以创建一个带前导零的 BitArray?
我正在从医疗设备中提取字节流,遇到了一个非常烦人的数据结构。基本上,我得到一个 2 字节的 block ,其中每个位代表一个 bool 值。这种结构在字节流中出现的频率足以围绕它开发结构/类,但在每种
我正在尝试从整数值初始化一个 System.BitArray 实例。但是,我似乎没有得到正确的值。 我的代码是 var b = new BitArray(BitConverter.Ge
这段代码: BitArray bits = new BitArray(new byte[] { 7 }); foreach (bool bit in bits) { Console.Write
我有一个 System.Collections.BitArray 数组(~3000 项),我想将所有位向左移动 1。但是该集合似乎不支持该操作(即 bitArray << 1 不工作,没有方法)。知道
我有一个长度相当大 (500,000) 的 c# BitArray,我正在尝试获取数组中所有正位集的索引。目前我正在通过以下方式实现这一目标: public int[] GetIndexesForPo
请考虑将斜杠符号(例如 24、30)转换为子网掩码的这个(非家庭作业)练习。 当我复制 BitArray至 byte[] , BitArray 的内部排序导致输出不正确。 例如,输入 numberOf
我遇到了 BitArray 的问题。 目标是模拟 8 个 80bit BitArrays 的堆栈,编号从 0 到 7。 我只需要能够通过索引访问它们,所以我认为一个简单的数组对我来说就足够了。 当初始
我正在尝试解决一个更大的问题。作为其中的一部分,我创建了一个 BitArray 来表示一系列按顺序做出的二元决策。我知道所有有效的决策系列都会有一半的决策是正确的,一半是错误的,但我不知道顺序: t
我已经阅读了关于 BitArray 转换的其他帖子,并亲自尝试了几个,但似乎没有一个能提供我想要的结果。 我的情况是这样的,我有一些控制 LED 灯条的 c# 代码。要向 strip 发出单个命令,我
我创建了以下将按要求执行的函数(将 HEX 字符串转换为 BitArray)。我不确定函数的效率,但我现在的主要问题是 Convert.ToInt64 函数是 endian 特定的。当这被移植到备用芯
背景 我这里有一个控制台应用程序,其中发生了以下事情...... 用户/运算符(operator)将一串位输入控制台,即“0101”。 - 作品 比特串被转换成一个字节。 - 作品 使用我的反转方法反
我是一名优秀的程序员,十分优秀!