「桁の取り出し」の編集履歴(バックアップ)一覧はこちら

桁の取り出し」(2014/08/25 (月) 00:12:36) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

・10進数の桁の取出し  例:「1234567」から、「34」を取り出す場合  7:1の位  6:10の位  5:100の位  4:1000の位  3:10000の位  2:100000の位  1:1000000の位  「3」は10000の位、「4」は1000の位になります。 <途中の「34」として取り出したい場合> ①「1234567」÷「1000」=「1234」:数学上は「1234567」÷「1000」=「1234」・・・「567」  SBの「÷」は切り捨てのため、「商」を計算できます。  右から3桁分を削って、右に3桁分シフトして、1000の位を1の位に下ろします。 ②「1234」余り「100」=「34」:数学上は「1234」÷「100」=「12」・・・「34」  SBの「余り」はMOD演算で、「余り」を計算できます。  右から2桁分を取り出すには、右から2桁目より左を消すため、100で割った時の余りを出します。 <途中の「3」と「4」を個別に取り出したい場合> ①「1234567」÷「1000」=「1234」:数学上は「1234567」÷「1000」=「1234」・・・「567」  右から3桁分を削って、右に3桁分シフトして、1000の位を1の位に下ろします。 ②「1234」余り「100」=「34」:数学上は「1234」÷「100」=「12」・・・「34」  右から2桁分を取り出すには、右から3桁目以左を消すため、100で割った時の余りを出します。 ③-1)「34」÷「10」=「3」:数学上は「34」÷「10」=「3」・・・「4」  右から1桁分を削って、右に1桁分シフトして、10の位を1の位に下ろします。  ③-2)「34」余り「10」=「4」:数学上は「34」÷「10」=「3」・・・「4」  右から1桁分を取り出すには、右から2桁目以左を消すため、10で割った時の余りを出します。 ---- <右から「567」として取り出したい場合> ①「1234567」余り「1000」=「567」:数学上は「1234567」÷「1000」=「1234」・・・「567」  右から3桁分を取り出すには、右から4桁目以左を消すため、1000で割った時の余りを出します。 <右から「5」「6」「7」を個別に取り出したい場合> ①「1234567」余り「10」=「7」:数学上は「1234567」÷「10」=「123456」・・・「7」  右から1桁分を取り出すには、右から2桁目以左を消すため、10で割った時の余りを出します。 ②「1234567」÷「10」=「123456」:数学上は「1234567」÷「100」=「123456」・・・「7」  右から1桁分を削って、右に1桁分シフトして、10の位を1の位に下ろします。 ③「123456」余り「10」=「6」:数学上は「123456」÷「10」=「12345」・・・「6」  右から1桁分を取り出すには、右から2桁目以左を消すため、10で割った時の余りを出します。 ④「123456」÷「10」=「12345」:数学上は「123456」÷「10」=「12345」・・・「6」  右から1桁分を削って、右に1桁分シフトして、10の位を1の位に下ろします。 ⑤「12345」余り「10」=「5」:数学上は「12345」÷「10」=「1234」・・・「5」  右から1桁分を取り出すには、右から2桁目以左を消すため、10で割った時の余りを出します。 ---- <左から「567」の「5」のみ取り出したい場合> ①「567」÷「100」=「5」:数学上は「567」÷「100」=「5」・・・「67」  先頭の右から3桁目だけを取り出すには、右に2桁分シフトして、100の位を1の位に下ろします。 <右から「567」の「7」のみ取り出したい場合> ①「567」÷「10」=「7」:数学上は「567」÷「10」=「56」・・・「7」  末尾の右から1桁目だけを取り出すには、右から2桁目以左を消すため、10で割った時の余りを出します。 ---- ・2進数の桁の取出し  例:「10110」=「EDCBA」から、「11」=「CB」を取り出す場合  0:A:2^0=1の位  1:B:2^1=2の位  1:C:2^2=4の位  0:D:2^3=8の位  1:E:2^4=16の位 <AND → 右シフト> ①「10110」AND「00110」=「00110」:「EDCBA」AND「00110」=「00CB0」 ②「00110」右シフト「1」=「0011」:「00CB0」右シフト「1」=「00CB」→CBを抜く ③-1)「0011」AND「0001」=「0001」:「00CB」AND「0001」=「000B」→Bのみ抜く ③-2)「0011」右シフト「1」=「001」:「00CB」右シフト「1」=「00C」→Cのみ抜く  最初に、抜き出したい桁を「1」にした判定用のビットとAND演算します。  続いて、抜きたい桁が右端になるまで右シフトして抜き出します。  桁を個別に抜きたい場合、AND「1」と右シフト「1」の繰り返しで、連続で可能です。 <右シフト → AND> ①「10110」右シフト「1」=「1011」:「EDCBA」右シフト「1」=「EDCB」 ②-1)「1011」AND「0011」=「0011」:「EDCB」AND「0011」=「00CB」→CBを抜く ②-2)「1011」AND「0001」=「0001」:「EDCB」AND「0001」=「000B」→Bのみ抜く  最初に、抜きたい桁が右端になるまで右シフトします。  続いて、抜き出したい桁を「1」にした判定用のビットとAND演算します。  幅のある桁を抜く場合、「1」や「11」や「111」などで可能です。 ----
・10進数の桁の取出し  例:「1234567」から、「34」を取り出す場合  7:1の位  6:10の位  5:100の位  4:1000の位  3:10000の位  2:100000の位  1:1000000の位  「3」は10000の位、「4」は1000の位になります。 <途中の「34」として取り出したい場合> ①「1234567」÷「1000」=「1234」:数学上は「1234567」÷「1000」=「1234」・・・「567」  SBの「÷」は切り捨てのため、「商」を計算できます。  右から3桁分を削って、右に3桁分シフトして、1000の位を1の位に下ろします。 ②「1234」余り「100」=「34」:数学上は「1234」÷「100」=「12」・・・「34」  SBの「余り」はMOD演算で、「余り」を計算できます。  右から2桁分を取り出すには、右から2桁目より左を消すため、100で割った時の余りを出します。 <途中の「3」と「4」を個別に取り出したい場合> ①「1234567」÷「1000」=「1234」:数学上は「1234567」÷「1000」=「1234」・・・「567」  右から3桁分を削って、右に3桁分シフトして、1000の位を1の位に下ろします。 ②「1234」余り「100」=「34」:数学上は「1234」÷「100」=「12」・・・「34」  右から2桁分を取り出すには、右から3桁目以左を消すため、100で割った時の余りを出します。 ③-1)「34」÷「10」=「3」:数学上は「34」÷「10」=「3」・・・「4」  右から1桁分を削って、右に1桁分シフトして、10の位を1の位に下ろします。  ③-2)「34」余り「10」=「4」:数学上は「34」÷「10」=「3」・・・「4」  右から1桁分を取り出すには、右から2桁目以左を消すため、10で割った時の余りを出します。 ---- <右から「567」として取り出したい場合> ①「1234567」余り「1000」=「567」:数学上は「1234567」÷「1000」=「1234」・・・「567」  右から3桁分を取り出すには、右から4桁目以左を消すため、1000で割った時の余りを出します。 <右から「5」「6」「7」を個別に取り出したい場合> ①「1234567」余り「10」=「7」:数学上は「1234567」÷「10」=「123456」・・・「7」  右から1桁分を取り出すには、右から2桁目以左を消すため、10で割った時の余りを出します。 ②「1234567」÷「10」=「123456」:数学上は「1234567」÷「100」=「123456」・・・「7」  右から1桁分を削って、右に1桁分シフトして、10の位を1の位に下ろします。 ③「123456」余り「10」=「6」:数学上は「123456」÷「10」=「12345」・・・「6」  右から1桁分を取り出すには、右から2桁目以左を消すため、10で割った時の余りを出します。 ④「123456」÷「10」=「12345」:数学上は「123456」÷「10」=「12345」・・・「6」  右から1桁分を削って、右に1桁分シフトして、10の位を1の位に下ろします。 ⑤「12345」余り「10」=「5」:数学上は「12345」÷「10」=「1234」・・・「5」  右から1桁分を取り出すには、右から2桁目以左を消すため、10で割った時の余りを出します。 ---- <左から「567」の「5」のみ取り出したい場合> ①「567」÷「100」=「5」:数学上は「567」÷「100」=「5」・・・「67」  先頭の右から3桁目だけを取り出すには、右に2桁分シフトして、100の位を1の位に下ろします。 <右から「567」の「7」のみ取り出したい場合> ①「567」÷「10」=「7」:数学上は「567」÷「10」=「56」・・・「7」  末尾の右から1桁目だけを取り出すには、右から2桁目以左を消すため、10で割った時の余りを出します。 ---- ・2進数の桁の取出し  例:「10110」=「EDCBA」から、「11」=「CB」を取り出す場合  0:A:2^0=1の位  1:B:2^1=2の位  1:C:2^2=4の位  0:D:2^3=8の位  1:E:2^4=16の位 <AND → 右シフト> ①「10110」AND「00110」=「00110」:「EDCBA」AND「00110」=「00CB0」 ②「00110」右シフト「1」=「0011」:「00CB0」右シフト「1」=「00CB」→CBを抜く ③-1)「0011」AND「0001」=「0001」:「00CB」AND「0001」=「000B」→Bのみ抜く ③-2)「0011」右シフト「1」=「001」:「00CB」右シフト「1」=「00C」→Cのみ抜く  最初に、抜き出したい桁を「1」にした判定用のビットとAND演算します。  続いて、抜きたい桁が右端になるまで右シフトして抜き出します。  桁を個別に抜きたい場合、AND「1」と右シフト「1」の繰り返しで、連続で可能です。 <右シフト → AND> ①「10110」右シフト「1」=「1011」:「EDCBA」右シフト「1」=「EDCB」 ②-1)「1011」AND「0011」=「0011」:「EDCB」AND「0011」=「00CB」→CBを抜く ②-2)「1011」AND「0001」=「0001」:「EDCB」AND「0001」=「000B」→Bのみ抜く ③「0011」右シフト「1」=「001」:「00CB」右シフト「1」=「00C」→Cのみ抜く  最初に、抜きたい桁が右端になるまで右シフトします。  続いて、抜き出したい桁を「1」にした判定用のビットとAND演算します。  幅のある桁を抜く場合、「1」や「11」や「111」などで可能です。 ----

表示オプション

横に並べて表示:
変化行の前後のみ表示: