タグ

2022年3月12日のブックマーク (5件)

  • hdLab : 第10回「固定小数点の演算」(201302) ~ 弊社WEBサイトは移転しました (左のロゴをクリック)

    HDLによる回路設計を行う場合、取り扱う数値は整数であることが多いかと思います。 しかしデジタルフィルタやモータ制御などの回路設計では小数を取り扱うことも少なくはありません。今回は小数を含めた固定小数点の演算について触れてみたいと思います。 ●小数値の表現方法 整数部は2進数の場合、それぞれの桁は2の0乗、2の1乗と2のべき乗単位の重みを持ちますが、これと同じように小数部は2の-1乗、2の-2乗といったようにマイナスの数値が指数部となった重みを持ちます。 例えば、整数部6ビット、小数部6ビットのフォーマットで表現される2進数(000100.010110)は、10進数で表現すると4.34375になります。 ●フォーマットを決める 小数値の表現方法が分かったところで、小数値を扱う場合に重要なのが数値を表現するためのフォーマット決めです。符号ビットの有無、整数部の桁数、小数部の桁数を決める作業で

  • コン基礎の教え方の宝庫(2) 固定小数点数と浮動小数点数

    コン基礎の教え方の宝庫(2) 固定小数点数と浮動小数点数 私はこうやって教えています~難解な技術をわかりやすく教えるコツ~ 固定小数点数と浮動小数点数は、どちらもコンピュータが小数点のある数を取り扱う形式です。どちらも、やや難解であまり面白くない(かな?)ので、堅苦しく説明したら新人さんたちは拒絶反応を示すでしょう。どのように説明すればよいか、講師を務める筆者は、いつも頭を悩ませています。筆者の教え方を紹介しますので、皆様のご意見をいただければ幸いです。 小数点数を表すには工夫が必要です 浮動小数点数の説明の前に、2進数の基的な説明は終わっているとします。新人さんたちは、2進数の1桁が、デジタルデータを伝える1の電線に対応することを知っています。そこで、こんな切り口で説明を始めます。 0と1しかないのだから、小数点のある数を表せないよね。だって、小数点のドット(.)を表せないでしょう。

    コン基礎の教え方の宝庫(2) 固定小数点数と浮動小数点数
  • コン基礎の教え方の宝庫(1) 2進数の手ほどき

    今回から、新しいテーマで記事を書かせていただきます。IT企業に入社したばかりの新人さんたちに、コンピュータの基礎を教える方法のアイディア集です。私がやっている方法をいくつか紹介しますので、「それじゃあダメだ」とか「この方法はどうだろう」といった皆様のご意見をいただければ幸いです。アイディアをたくさん集めて、教え方の宝庫と呼べるようなコーナーにできればいいなぁと思います。よろしくお願いします。 第1回のテーマは「2進数」です。学生時代に、ほとんどコンピュータの勉強をしていない新人さんたちを対象として、楽しくわかりやすく2進数を教えるには、どのような切り口にしたらよいでしょう。最初に何を教えて、次にどのように展開するか、一緒に考えてください。 なぜ2進数を学ぶのかを説明する いきなり「0と1だけで数を表すのが2進数です」なんて話をしたら、新人さんたちはとまどうでしょう。なぜ2進数を学ぶのか説明

    コン基礎の教え方の宝庫(1) 2進数の手ほどき
  • float型では123456789すらも表現できない話 - Qiita

    はじめに この記事はQualiArts Advent Calendar 2020の22日目の記事になります。 稿では数値の扱われ方の説明を行ない、浮動小数点数で表現できる整数値の有効桁数の話をします。 そして、最終的に単精度浮動小数であるfloat型では 123456789 が表現できないことを確認していきます。1 背景 ゲームの演出で獲得経験値をパラパラとアニメーションでカウントアップさせようとしていました。 とりあえず 0 から 123456789 までカウントアップさせる実装をしたものの、123456789 になってくれない。 くそぅ、、何度やっても 123456792 になってしまう!!! 結論から言うと、カウントアップの内部処理で値がfloat型として扱われており、float型では 123456789 の値は表現できなかったというオチでした。 int型の最大値は 2,147,4

    float型では123456789すらも表現できない話 - Qiita
  • 固定小数点数と浮動小数点数

    符号ビットありの最小値は最大値と一致位しないことに注意が必要ですね! 固定小数点数は計算の精度が低いものの、高速に処理できるというメリットがあります。 なおどれくらい差が出るのかについては私にはわかりません笑 浮動小数点数 先程の固定小数点数は桁数の大きな数には不向きなものでした。しかしこの浮動小数点数で数を表せば大きな桁数を持つ数を表すことができるようになるのです。ではその仕組みにいついて見ていきましょう。 例えば10進数の0.0020という小数点のある数字があるとします。この数は小数点を移動させることで000.20 × 10の2乗と同じ数と言えると思います。これを指数表記と言いますが、浮動小数点数を表す為にはこの指数表記を使います。 上の図は基数を10で考えたものですが、2進数の場合基数はもちろん2になります。そして小数点の位置が右に2つずれていますね! 浮動小数点数では上の図にある符

    固定小数点数と浮動小数点数