スレッド表示 | フラット表示〕 全トピック 920 件中 428 番目 次≫ ≪前

16進数→10進数

created: 2005-06-08 18:22 | modified: 2005-06-17 15:38 | reply: 2

[2307] 16進数→10進数

user: Beck | created: 2005-06-08 18:22
はじめまして。
PHPの関数で符号付16進数から10進数に直したいのですが.
例えば,符号付16進数である"FFF6"を10進数に直したい場合はどうすればよいでしょうか.
よろしければご教授お願いします.
reply: 2309 返信 編集 削除

[2309] ビット演算で符号判定

user: ゆうじ | created: 2005-06-09 23:01
こんばんわ。
符号付と言うことは16進数文字列の頭1ビットが
立っているか否かをビット演算で判別するとよいのだと思います。

スマートでない気もしますがこんな風でいかがでしょう。

<?php
function signedHexDec( $hex )
{
if(hexdec(substr($hex, 0, 1)) & 8) {
$hex = (hexdec(substr($hex, 0, 1)) & 7) . substr($hex, 1);
$dec = 0 - hexdec($hex);
} else {
$dec = hexdec($hex);
}
return $dec;
}

$hex = 'FFF6';
echo signedHexDec($hex);
?>
Parent: 2307  reply: 2322 返信 編集 削除

[2322] ビット演算

user: Beck | created: 2005-06-17 15:38
ゆうじさんありがとうございました。
返事が遅くなってすみません。
符号付の解析をさせる関数は自分でつくってやらなければならないんですね。
大変参考になりました。

また機会があれば、ご指導お願いします。
Parent: 2309  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 428 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑