• ベストアンサー

大学での課題ですが苦手で・・・

(1)英字の「N」はASCIIコードでどのようなビット列で表されるかを、ASCIIコード表から読み取り、1と0で記述してください。パリティチェックは奇数パリティであるとします。 (2)10進数の135をBCD表現と純2進数表現の2通りで表してください。 計算手順もわかるようにお願いします

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

  • ベストアンサー
  • f-uga
  • ベストアンサー率37% (168/445)
回答No.2

135の変換 2進数:1000 0111 BCDコード:0001 0011 0101 ですので、質問者様の導出した解答で正解です! 逆に、2進数から10進数に変換する場合は、[0][1]の上に「1」「2」「4」…を書いて、[1]のある所の数字を足し算すれば導出できます。 [1011]の場合、「8」と「2」と「1」の所に[1]があるので、8+2+1=11。 つまり、[1011]は10進数の11ということになります。 既にお気づきかもしれませんが、紙に書いて頂いた数字「1」「2」「4」「8」「16」「32」「64」「128」はそれぞれ、前の数字の2倍の関係にあります。 128よりもさらに大きい数字を変換したい場合は128の倍数「256」、256よりもさらに大きい数字を変換したい場合は256の倍数「512」まで使えば導出することができます。 (通常は128までで十分です) 私は高校大学で理系の勉強をして、今年で7年目になります。 理系科目から出題される課題の大変さは身をもって知っているので、あなたの気持ちも分かる気がします。 今後、課題の難易度は上がっていく一方だと思いますが、めげずに頑張ってください!

その他の回答 (1)

  • f-uga
  • ベストアンサー率37% (168/445)
回答No.1

Nのアスキーコード:0100 1110 計算はありません。単に表から読み取るだけです。 135の変換 *アスキーコードの読み取りは誰でもできるので答えを書きましたが、これは計算方法を覚えないとあなたの為にならないので、方法とヒントのみにします 2進数:計算方法参照 (ヒント:「10?? 01??」8桁です) BCDコード:計算方法参照 (ヒント:「00?? 00?? 01??」12桁です) 計算方法~10進を2進数へ~ 1.紙に左から順に「128」「64」「32」「16」「8」「4」「2」「1」と書く。 2.135は「256」以下「128」以上に該当するので、「128」の下に[1]をたてる。 3.135-128=7(単なる引き算です) 4.2番同様、7は「8」以下「4」以上の数字なので、「4」の下に[1]をたてる。 5.3番同様、7-4=3 6.2番同様、3は「4」以下「2」以上の数字なので、「2」の下に[1]をたてる。 7.3番同様、3-2=1 8.1は「1」と等しいので、「1」の下に[1]をたてる。 *「1」まで埋めたら計算は終了です。 9.[1]のたっていない「8」「16」「32」「64」の下には[0]をたてる。 慣れれば簡単に解けます。 ~BCDコード~ 138を百三十八というように3桁数字として考えないで、「1と3と8」というように一桁単位で2進数化(上記参照)し、下4桁のみをとりだし、順番につなげる。 138は「1と3と8」の3桁なので、変換後は12桁になります。 BCDとは:http://www.sophia-it.com/content/BCD

hechamicha
質問者

お礼

ご回答をありがとうございました。ご指導のとおりやってみましたら、できたと思います、いいえたぶんできました。ヒントとも合っていますし、2進数への変換方法もよくわかりました。ほんとうにありがとうございました。 答え合わせと言ってはなんですが、一応・・ 135の純2進数表現は「10000111」ですよね? 同じく135のBCD表現は、「000100110101」ですよね。 合っていると思うのですが。 本当にありがとうございました。

関連するQ&A