无位运算符的设置位

问题描述 投票:0回答:1

我需要设置一点,但是我正在编程的语言没有按位运算符。是否有捷径可寻?目前我正在使用:

data = data - (2 ^ bitnumber) * mod(data // (2 ^ bitnumber), 2) + (2 ^ bitnumber)

data = data - bitvalue * mod(data // bitvalue, 2) + bitvalue

其中,位值为2 ^位,'//'为下位分割。但是,这似乎过于复杂。此方法检查是否设置了该位,并清除该位。然后添加2 ^ bitnumber来设置该位。

这种编程语言是非常高级的抽象语言,因此任何计算的结果都可以是浮点数,并且没有位的概念。当我说要设置第二个位时,我的意思是,当结果以无符号整数格式表示时,最终结果(将始终是无符号整数)应该设置第二个位。

math bit-manipulation bitwise-operators
1个回答
0
投票

当前的方法似乎是最佳方法。

© www.soinside.com 2019 - 2024. All rights reserved.