• ベストアンサー

CASLII:文字列→数字への変換の原理

CASLIIにおいて 文字列を数字へ変換する場合、000FでAND演算をしますよね?この方法で変換が行なえることはわかるのですが、なぜ000FでAND演算をすると変換されるのか、その原理が分かりません。 ご教授のほどお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • itinohana
  • ベストアンサー率41% (58/139)
回答No.1

数字の文字列表現は、16進表記では 0が0x30、1が0x31...9が0x39 となりますので、上位4ビットをクリアして、下位4ビットを維持すれば数値に変わります。

g_jellyfish
質問者

お礼

なるほど、よく理解できました。 分かりやすい説明ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 文字列から数字への変換

    文字列から数字への変換にはatoiなどを使うと思うのですが これだと文字として0を変換すると アルファベットなどを変換した場合と 同じになってしまいますよね? 0も入力を受け付けてなおかつ文字列は受け付けないように するにはどのようにすればよいのでしょうか? アドバイス・回答よろしくお願いします

  • CASLIIについて

    CASLIIについて質問します。 キーボードから数字を入力し、計算した結果を画面に出したいのですが、計算するために数値に変換する方法と画面に出力するために文字に変換する方法を教えてください。

  • 数字を文字列に変換し短縮化する

    質問させて頂きます。 1234567 などの数字を f3ad5 などのようにa-zも交えて 文字列の短縮化をしたいのですがそのようなperl関数または式などありますでしょうか。 文字列を再び数字に戻せるよう、可逆性も考慮したものが理想です。 宜しくお願い致します。

    • ベストアンサー
    • Perl
  • DOUBLE型の16進HEX文字列変換について

    12バイトのHEX文字列(FFFFFFFFFFFFFFFFFFFFFFFF)などを をいったん、10進に変換し、DOUBLE型の変数に設定し、 数値演算を行い 再度HEX文字列(FFFFFFFFFFFFFFFFFFFFFFFF)に変換を行いたいのですが、 変換の方法がわからず困っています。 HEX関数はLONGでしかおこなえないようで・・ すみませんが、ご教授いただけると助かります。 宜しくお願いいたします。

  • UNIXで数字の文字列を、数値に変換するには?

    UNIXで、数字のみの文字列を、その文字列で表される数値に変換して変数に代入したいのですが、どうすればいいでしょうか? つまり、 VALUE=`echo 22j4444j33 | awk -F'j' '{print $1}'` <VALUEに入った"22"を22の数値に変換> exit $VALUE というようなことがしたいです。 よろしくお願いします。

  • 文字列を数字型に変換したい

    いつもお世話になっております。 eclipseというツールでC言語のプログラムを触っているのですが、 文字列の数字を数値型に変換して掛け算をしたいのですが、 型変換の関数はありますでしょうか??

  • エクセル2000 文字列を数字に変換

    初心者です。 エクセルのA列に文字列として入っている「○分○秒」を数字として変換し 平均などを計算したいのですが どうすればよいでしょうか? ただし、「○分」や「○秒」とだけ入っているセルもあります。 例えばA列に 1分25秒 5秒 1分 というように入っています。 宜しくお願い致します。

  • Excel で 文字→数字変換

    エクセルで文字→数字変換を行いたいのですが、 どのようにすればよいでしょうか? (やりたい例) あるセルの特定文字列位置の文字を数字に変換したい。 文字列先頭から4番目の文字を元に数値に変換する。 Aだと1と変換、Bだと2と変換、Cだと3と変換… A1:xxxBxxxx B1:2 うまく質問が表現できなくてすいません。 実現方法はVBAでも結構です(使ったことはありませんが)。

  • エクセルセル内の文字列を数字にするには?

    エクセルセル内の文字列を数字に変換する方法はありますか?できれば複数のセルを一括で変換したいです。 回答宜しくお願いします。

  • 文字列を数字のみにエンコードして圧縮したい

    アルファベットの文字列を数字のみに変換してできる限り容量を圧縮したいです。 たとえばASCIIコードに変換して・・・でも数字のみに変換はできますが容量を極力減らしたいです。 何か既存のアルゴリズムで良い方法ないでしょうか? 対象はアルファベット小文字のみの26文字で す。 例えば (log 10^10)/log26=7.06なので 10文字分の数字で 7文字相当のアルファベットを埋め込めるのかな?と思います。 単純にa=0 b=1・・・と割り当てて行って 文字列を26進数表記にした物を10進数に変換すれば一応できそうですが よりよい方法とか効率的な方法があれば教えてください。

専門家に質問してみよう