HexDec သည် Hexadecimal Strings ကိုသက်ဆိုင်ရာဒ decimal မကိန်းများသို့ပြောင်းလဲရန် PHP တွင် built-in function တစ်ခုဖြစ်သည်။ အသုံးပြုရန်အလွန်လွယ်ကူသည်။
int hexdec ( string $hex_string )
$ hex_string သည် input hex string, case-management;
ပြန်လာတန်ဖိုးသည်သက်ဆိုင်ရာဒ decimal မကိန်းဖြစ်သည်။
Sensor သည် (serial port, I2C, SPI စသည်တို့) မှတဆင့်အချက်အလက်များကိုအချက်အလက်များကိုပေးပို့သည့်အခါ, ဥပမာအားဖြင့်အာရုံခံကိရိယာမှပြန်လာသောအပူချိန်တန်ဖိုးသည်ဒ decimal မ 26 နှင့်သက်ဆိုင်သော 0x1a ဖြစ်နိုင်သည်။
ကျွန်ုပ်တို့သည် Sensor မှ hexadecimal strings strings strings ကိုလက်ခံပြီးအာရုံခံကိရိယာကွဲပြားခြားနားသောတိုင်းတာမှုများကိုကိုယ်စားပြုသည်။ အောက်ဖော်ပြပါသည် Hexdec ကို မည်သို့အသုံးပြုရမည်ကိုသရုပ်ပြရန် PHP code သည်အပူချိန်တန်ဖိုးကိုတွက်ချက်ရန်နှင့်တွက်ချက်မှုကိုတွက်ချက်ရန်ပုံကိုသရုပ်ပြပါ။
<?php
// အာရုံခံကိရိယာကပြန်လာ hexadecimal ဒေတာကိုတုပ,အုပ်စုတစ်စုရှိအက်ခရာနှစ်လုံးသည် byte ကိုကိုယ်စားပြုသည်
$hexData = "1A3F0B";
// ပထမ byte ယူပါ '1A',ဒ decimal မလွှဲပါ
$tempHex = substr($hexData, 0, 2);
$tempDec = hexdec($tempHex);
echo "အာရုံခံအပူချိန်တန်ဖိုး(ဒက်မချက်):" . $tempDec; // ထုတ်လုပ်ခြင်း:26
?>
ဤဥပမာတွင် HexDec (1A ') သည် 26 ပြန်ရောက်သည်။ အပူချိန်တန်ဖိုးမှာ 26 ဒီဂရီ (အထူးယူနစ်များကိုအာရုံခံကိရိယာအရသတ်မှတ်ထားသည်) ဖြစ်သည်။
များသောအားဖြင့်အာရုံခံကိရိယာမှပြန်လာသောဒေတာ packet တွင်လယ်ကွင်းမျိုးစုံပါ 0 င်သည်။
2 bytes အပူချိန်
2 byte စိုထိုင်းဆ
1 byte status ကိုကုဒ်
packet သည်ဤကဲ့သို့သော hexadecimal string ကိုဆိုပါစို့။
$packet = "00FA007D01";
အဖြစ်ရှင်းပြသည်:
အပူချိန်: 00fa (hexadecimal)
စိုထိုင်းဆ: 007D (hexadecimal)
အခြေအနေကုဒ်: 01
ကျွန်ုပ်တို့သည် HexDec ကို တစ် ဦး အား ခွဲခြမ်းစိတ်ဖြာခြင်း ဖြင့်တစ်ပြိုင်နက်တည်းခွဲခြမ်းစိတ်ဖြာရန်အသုံးပြုနိုင်သည်။
<?php
$packet = "00FA007D01";
$temperatureHex = substr($packet, 0, 4);
$humidityHex = substr($packet, 4, 4);
$statusHex = substr($packet, 8, 2);
$temperature = hexdec($temperatureHex); // 250
$humidity = hexdec($humidityHex); // 125
$status = hexdec($statusHex); // 1
echo "အပူအအေး:" . $temperature . "\n";
echo "စိုစွတ်ခြင်း:" . $humidity . "\n";
echo "အခြေအနေကုဒ်:" . $status . "\n";
?>
ဒေတာနယ်ပယ် : Hexdec သည် floating point နံပါတ်ကိုပြန်ပို့သည်။ အကယ်. အရေအတွက်သည် (PHP Integer Range ထက်ကျော်လွန်သော) အလွန်ကြီးလွန်းပါက GMP သို့မဟုတ် BCMATT တိုးချဲ့ခြင်းကဲ့သို့သောအခြားနည်းလမ်းများနှင့်ကိုင်တွယ်ရန်လိုအပ်သည်။
Data format - hexDec သို့ 0 င်ရောက်ခြင်းသည်တရား 0 င် hex အက္ခရာများ (0-9, AF, AF) တွင်ပါ 0 င်ကြောင်းသေချာပါစေ။
ကိစ္စမရှိပါဘူး - HexDec သည် စာလုံးအကြီးအသေးအရေးမကြီးပါ။ Hexdec ( 1A ') ၏ရလဒ်များသည်အတူတူပင်ဖြစ်သည်။