您能否提供令人信服的解释或数学证明,以解释为什么以下函数计算给定数字的否定表示?
function quickNegabinary(number) {
var mask = 0xAAAAAAAA;
return ((number + mask) ^ mask).toString(2);
}
Run Code Online (Sandbox Code Playgroud) language-agnostic algorithm binary bit-manipulation base-conversion
我有一个数字值的函数:
val = sum{(A[i])*(-2)^i}
Run Code Online (Sandbox Code Playgroud)
因此,可以在st -8is [0,0,0,1]和8is中完成表示位数组中的值[0,0,0,1,1].
请帮我写一个java方法,当我将一个十进制值传递给一个方法时,它将返回一个带有1和0的int数组,表示给定的十进制值.
Ex: when pass -8 , method returns [0,0,0,1].
when pass 8 , method returns [0,0,0,1,1].
Run Code Online (Sandbox Code Playgroud)