這就是我想要的:如何在javascript中聲明一個unsigned int變量?
>> var uint n = 0;
<- undefined (output by firefox dev console, I don't know what this means)
>> n;
<- 0;
>> n - 1;
<- 4294967295 (2^32-1)
那麼如何來聲明一個變量,在JavaScript中,所以它是無符號? 在此先感謝。
這就是我想要的:如何在javascript中聲明一個unsigned int變量?
>> var uint n = 0;
<- undefined (output by firefox dev console, I don't know what this means)
>> n;
<- 0;
>> n - 1;
<- 4294967295 (2^32-1)
那麼如何來聲明一個變量,在JavaScript中,所以它是無符號? 在此先感謝。
如果你真的需要他們unsigned然後檢查Uint32Array on MDN。
但是,既然你沒有真正從你的值被無符號獲得任何東西,也許簡單的模數運算會更好?
//Create var as array of length 1
var arr = new Uint32Array(1);
//set first value to 1
arr[0] = 1;
//output contents
console.log(arr);
//substract to "negative"
arr[0] -= 2;
//output contents
console.log(arr);
模
//Object with setter, to make it simpler
var my_obj = Object.create({
//This is our value
value: 0
}, {
//This is our setter
set: {
value: function(a) {
//Make incoming value a modulus of some integer
//I just use 1000 for the example
var max = 1000;
a = a % max;
//Force a positive
while (a < 0) {
a += max;
}
//Set value
this.value = a;
//Return object regerence for chaining
return this;
}
}
});
console.log("0:", my_obj.value);
my_obj.set(500);
console.log("500:", my_obj.value);
my_obj.set(-0);
console.log("-0:", my_obj.value);
my_obj.set(-1);
console.log("-1:", my_obj.value);
my_obj.set(-100);
console.log("-100:", my_obj.value);
my_obj.set(-0);
console.log("-0:", my_obj.value);
或用一個函數:
function modulusMax(value, a) {
//Make incoming value a modulus of some integer
//I just use 1000 for the example
var max = 1000;
a = a % max;
//Force a positive
while (a < 0) {
a += max;
}
//Set value
value = a;
//Return object regerence for chaining
return value;
}
var v = 0;
console.log("0:", modulusMax(v, 0));
console.log("500:", modulusMax(v, 500));
console.log("-0:", modulusMax(v, -0));
console.log("-1:", modulusMax(v, -1));
console.log("-100:", modulusMax(v, -100));
console.log("1100:", modulusMax(v, 1100));
console.log("-0:", modulusMax(v, -0));
如何用簡單的模數運算工作?我只想要正數。 –
有在Javascript中沒有內置的無符號整數類型。我想你可以使用一個類型化的ArrayBuffer(Uint32Array)。 – Thilo