※ ChatGPTを利用し、要約された質問です(原文:16進数変換)
16進数変換とは?
このQ&Aのポイント
16進数変換は、文字列16進数をバイナリ16進数に変換する処理です。
具体的には、文字列16進数内の各文字を大文字に変換し、2文字ずつ組み合わせてバイナリ16進数に変換します。
バイナリ16進数とは0から15までの数字を表す4ビットの2進数の組み合わせであり、データの表現や処理に使用されます。
文字列16進数をバイナリ16進数に変換する参考ソースが以下のようになっていたのですが、どういう意味でしょうか?
strSerial ..... 文字列16進数
ForwardBuf ..... char
BackBuf .....char
/* 文字列16進数長を代入 */
Len_strSerial = strlen(strSerial);
/* 文字列16進数を大文字に変換 */
for (iToupCnt=0; iToupCnt < Len_strSerial; iToupCnt++)
{
tmpbuf[iToupCnt] = toupper(strSerial[iToupCnt]);
}
for (iStrsCnt = 0; iStrsCnt < Len_strSerial; iStrsCnt += 2)
{
ForwardBuf = (tmpbuf[iStrsCnt] >= 'A' ?
tmpbuf[iStrsCnt] - 'A' + 10 :
tmpbuf[iStrsCnt] - '0');
BackBuf = (tmpbuf[iStrsCnt + 1] >= 'A' ?
tmpbuf[iStrsCnt + 1] - 'A' + 10 :
tmpbuf[iStrsCnt + 1] - '0');
binSerial[iBSLCnt] = ForwardBuf * 16 + BackBuf;
iBSLCnt++;
}
ちょっと見にくいですね・・・すみません
よろしくお願いします
ちなみに最終的にはバイナリ16進数とバイナリ16進数長が
求められるようです。