功能:在PHP 功能:相同的功能,PHP在javascript給予不同的輸出
function int64add(dst, x, y)
{
var w0 = (x.l & 0xffff) + (y.l & 0xffff);
var w1 = (x.l >>> 16) + (y.l >>> 16) + (w0 >>> 16);
var w2 = (x.h & 0xffff) + (y.h & 0xffff) + (w1 >>> 16);
var w3 = (x.h >>> 16) + (y.l >>> 16) + (w2 >>> 16);
dst.l = (w0 & 0xffff) | (w1 << 16);
dst.h = (w2 & 0xffff) | (w3 << 16);
}
我轉換這javascript傳送給PHP作爲
function int64add($dst, $x, $y)
{
$w0 = ($x->l & 0xffff) + ($y->l & 0xffff);
$w1 = ($x->l >> 16) + ($y->l >> 16) + ($w0 >> 16);
$w2 = ($x->h & 0xffff) + ($y->h & 0xffff) + ($w1 >> 16);
$w3 = ($x->h >> 16) + ($y->l >> 16) + ($w2 >> 16);
$dst->l = ($w0 & 0xffff) | ($w1 << 16);
$dst->h = ($w2 & 0xffff) | ($w3 << 16);
}
這兩個函數返回不同的輸出相同的輸入。試圖尋找過互聯網,但無法找到任何東西。請幫忙!
在JS:
輸入:
DST:
int64{
h=1779033703,
l=-205731576
}
X:
int64{
h=1779033703,
l=-205731576
}
Y:
int64{
h=1779033703,
l=-205731576
}
個
回報:
int64{
h=-736899889,
l=-411463152
}
在PHP中:
輸入:
DST:
int64{
h=1779033703,
l=-205731576
}
X:
int64{
h=1779033703,
l=-205731576
}
Y:
int64{
h=1779033703,
l=-205731576
}
回報:
int64{
h=-736899891,
l=-411463152
}
類的int64在PHP:
class int64{
var $h;
var $l;
function int64($h,$l){
$this->h=$h;
$this->l=$l;
}
}
功能的int64在JS:
function int64(h,l){
this.h=h;
this.l=l;
}
我想PHP給輸出的JavaScript。 (Javascript是正確的)
請顯示輸出 –
什麼類型是$ dst,$ x,$ y? (對象,數組,字符串..) – Svetoslav
所有這些都是對象 –