このメソッドは、C、C ++、およびJavaで機能します。その背後にある科学について知りたいのですが。
aの値はchar
0〜255で、異なる文字がこれらの値のいずれかにマップされます。数字も順番に格納されてい'0'
て'9'
、それらは、典型的には最初の10として格納されていないchar
値。つまり、文字'0'
のASCII値はありません0
。のchar値0
は、ほとんどの場合\0
null文字です。
ASCIIについて他に何も知らなくても'0'
、他の数値文字から文字を減算すると、元の文字のchar値がどのように得られるかは非常に簡単です。
だから、それは簡単な数学です:
'0' - '0' = 0 // Char value of character 0 minus char value of character 0
// In ASCII, that is equivalent to this:
48 - 48 = 0 // '0' has a value of 48 on ASCII chart
したがって、同様に、私は任意の数値で整数演算を行うことができますchar
...
(('3' - '0') + ('5' - '0') - ('2' - '0')) + '0') = '6'
間の差3
、5
または2
および0
ASCIIチャートに我々は通常、私たちはその数字の桁を見たときに考える額面に正確に等しいです。char '0'
それぞれからを減算し、それらを一緒に追加'0'
し、最後にバックを追加すると、その単純な計算を実行した結果であるcharを表すchar値が得られます。
上記のコードスニペットはをエミュレート3 + 5 - 2
しますが、ASCIIでは実際にこれを実行しています。
((51 - 48) + (53 - 48) - (50 - 48)) + 48) = 54
ASCIIチャート上では、
0 = 48
2 = 50
3 = 51
5 = 53
6 = 54
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加