こんにちは、いつもお世話になっています。
今回の質問は、文字列の"1234"を整数値に変換したいのですが、
1234
= 1 * 1000 + 2 * 100 + 3 * 10 + 4
=(((0 + 1) * 10 + 2) * 10 + 3) * 10 + 4 ----①
この①の展開の仕方が分かりません。
とても、馬鹿らしい質問とは思うのですが、よろしくお願いします。
数学?
Re:数学?
"1234" を先頭から一文字ずつ見る。
1文字目
'1' → 数値に変換 → 1 ・・・①
2文字目
'2' → 数値に変換 → 2
→ ①の結果と合わせる → ひと桁上なので①の結果を10倍して足す
→ ① * 10 + 2・・・②
3文字目
'3' → 数値に変換 → 3
→ ②の結果と合わせる → ひと桁上なので②の結果を10倍して足す
→ ② * 10 + 3・・・③
4文字目
'4' → 数値に変換 → 4
→ ③の結果と合わせる → ひと桁上なので③の結果を10倍して足す
→ ③ * 10 + 4・・・④
④を展開すると
((1 * 10 + 2) * 10 + 3) * 10 + 4
となる。
①が(0 + 1)になるのは
> → Xの結果と合わせる → ひと桁上なのでXの結果を10倍して足す
の X が一番最初なので 0 ということにすると
①は (0 * 10 + 1) = (0 + 1) となる。
1文字目
'1' → 数値に変換 → 1 ・・・①
2文字目
'2' → 数値に変換 → 2
→ ①の結果と合わせる → ひと桁上なので①の結果を10倍して足す
→ ① * 10 + 2・・・②
3文字目
'3' → 数値に変換 → 3
→ ②の結果と合わせる → ひと桁上なので②の結果を10倍して足す
→ ② * 10 + 3・・・③
4文字目
'4' → 数値に変換 → 4
→ ③の結果と合わせる → ひと桁上なので③の結果を10倍して足す
→ ③ * 10 + 4・・・④
④を展開すると
((1 * 10 + 2) * 10 + 3) * 10 + 4
となる。
①が(0 + 1)になるのは
> → Xの結果と合わせる → ひと桁上なのでXの結果を10倍して足す
の X が一番最初なので 0 ということにすると
①は (0 * 10 + 1) = (0 + 1) となる。
Re:数学?
> 1234
> = 1 * 1000 + 2 * 100 + 3 * 10 + 4
> =(((0 + 1) * 10 + 2) * 10 + 3) * 10 + 4 ----①
1234
= 1230 + 4
= 123 * 10 + 4
= (120 + 3) * 10 + 4
= (12 * 10 + 3) * 10 + 4
= ((10 + 2) * 10 + 3) * 10 + 4
= ((1 * 10 + 2) * 10 + 3) * 10 + 4
= (((0 + 1) * 10 + 2) * 10 + 3) * 10 + 4
これで理解できますか?
> = 1 * 1000 + 2 * 100 + 3 * 10 + 4
> =(((0 + 1) * 10 + 2) * 10 + 3) * 10 + 4 ----①
1234
= 1230 + 4
= 123 * 10 + 4
= (120 + 3) * 10 + 4
= (12 * 10 + 3) * 10 + 4
= ((10 + 2) * 10 + 3) * 10 + 4
= ((1 * 10 + 2) * 10 + 3) * 10 + 4
= (((0 + 1) * 10 + 2) * 10 + 3) * 10 + 4
これで理解できますか?