【发布时间】:2013-03-25 11:51:13
【问题描述】:
问题如下:我需要处理完全编码为有符号整数的数字(MSB 是符号,值是 2 的补码二进制值),但它们不是 32 位的。 IE。我有一个 21 位二进制值,我必须对其进行处理,以便第 20 位是符号,而第 19-0 位表示数字代码。我需要做类似的事情
int<21>a = 200000
int<21>b = 300000
int<21>c = a + b
目标语言是 javascript,即所有标准二进制操作(如按位加/移)都可用。有没有简单的算法?
【问题讨论】:
-
您可以只使用普通的 32 位整数 - 额外的位将只是符号扩展(全 0 表示正数,全 1 表示负数),因此您可以放心地忽略它们。
-
@PaulR,这主意不错!
标签: javascript data-structures integer bitwise-operators