桁を取り出す手順を読む
- 整数の商から各桁を分けて合計する
- 桁合計の更新後に終了条件を確かめる
- 右端から格納した桁へ正しい重みを掛ける
点線のことばを押すと、意味と使い方を調べられます。
表示・保存
このページの目次 3節・復習と3問
- 1説明を読む
- 2復習する
- 3問題を解く
- 4次へ進む
12桁の数を二つの桁へ分ける
正の整数j=47から十の位を取り出すには、10で割った整数の商k=4を求めます。一の位はj−10×k=47−40=7です。二つの桁の合計はk+(j−10×k)=11です。
j−10×kだけなら一の位7、j+kなら51になり目的と違います。括弧をj−10のように付け替えると、10倍して引く意味が変わります。
ハルとビットで、使い方を確かめよう
47から7だけを取りたいときは?
十の位4の10倍を47から引けば7が残るよ。
21桁になるまで繰り返す
ここでは、2桁の正の整数について、各桁の合計で元の数jを置き換え、1桁になるまで繰り返します。1回ごとに、jを10で割った整数商kを求め、j←k+(j−10×k)で更新し、その新しいjが10以上かを確かめます。
47から始めると、1回目はk=4で、jは4+7=11になります。11はまだ10以上なので、次は11を使い、k=1、jは1+1=2になります。2は10未満なので終了します。繰返しの回数は2回、最後の値は2で、求められているものを区別します。
チェックデジットは、入力誤りの検出などに使う検査用の数字です。実際の作り方には様々な方式があります。問題が示した方式を読み、この例の桁合計を全方式共通だと思わないようにします。
47は2桁
4+7=11、まだ継続
1+1=2、終了
数値は学習用の例。
32進数の各桁に重みを掛ける
2進数の各桁は、右端から1、2、4、8という値の大きさを受け持ちます。この大きさを重みと呼びます。ここでは、その計算を配列と繰返しで表します。要素番号は1から数え、元の2進数の右端の桁をA[1]へ入れる約束です。
A=[1,1,0,1]なら、A[1]から順に元の右端、右から2桁目、3桁目、4桁目なので、元の数は1011₂です。各要素に掛ける重みは順に1、2、4、8です。初期値s=0から1×1、1×2、0×4、1×8を加えると、10進数で11になります。
i番目の重みを式にすると2の(i−1)乗です。この例では2^(i−1)と書き、更新はs←s+A[i]×2^(i−1)です。2^i−1は「2のi乗から1を引く」という別の式なので、1、3、7、15となって重みに合いません。
初期値0のsに掛け続けても0のままです。各桁の値と重みを掛け、その結果をsへ足します。
ハルとビットで、使い方を確かめよう
指数の括弧で答えが変わる?
2の(i−1)乗と、2のi乗から1を引く式は違うよ。
復習
このレッスンを振り返ろう
2桁のjから一の位を求める式は?
答え方と、確認するポイント
十の位kを整数商で求め、j−10×kで一の位を求めます。
一度桁を足して2桁なら終わり?
答え方と、確認するポイント
1桁になるまで、新しい値で処理を続けます。回数と結果も別です。
A[1]が右端の桁なら、重みはどの順?
答え方と、確認するポイント
1、2、4…です。配列の並びを通常の二進表記の左から順と取り違えません。
問題で確かめる
学んだことを問題で確かめよう
ここではオリジナル問題3問で、学んだ考え方を使います。答えを選んだら、正解の理由とほかの選択肢の違いも確認しましょう。
ヒントを見る
2桁の数を二つの桁へ分けるで、条件と手順を確認しよう。
オリジナル入門問題 · シラバス 6.5
3問中0問の答えと解説を確認しました。選んだ答えの理由も確かめてから、次へ進みましょう。
出典・参考資料を確認する
学習範囲:IPA シラバス Ver.6.5 ↗ 項目37。身近な例・会話・図解・確認問題は当サイトのオリジナルです。
学習範囲と参考資料
シラバスは学習範囲の根拠です。説明・図の数値・身近な事例は学習用に作成しています。2026年9月14日確認。