4

私はPHPの初心者です。PHPでdechex(255)対応する16進値が得られることを読みました。ff

の 16 進値が必要です-105。試しdechex(-105)てみたところ、 のような結果が得られましたffffff97。しかし、私はただ97ある種のことをしたいだけです。

0xffJava では、 を使った少し賢明な操作でという結果97が得られたことを知っています(byte)-105 & (byte)0xff = 0x97

私が Java で行ったのと同じように、PHP で解決策を見つけてください。

4

3 に答える 3

0

バイナリの負の値 (ffffff97) または符号付きの値が必要です

// for a signed value
$i = -105;
if($i < 0)
     echo '-'.dechex(abs($i));
else echo dechex($i);

前の「f」を外したい場合

echo preg_replace('#^f+#', '', dechex($i));
于 2015-03-09T12:25:56.193 に答える