2012-02-17 5 views
2

、モジュラーのような多分他の事業者は、より複雑な、逆モジュラーなどビット単位の算術私は、このようなほか、substraction、乗算、除算などのビット単位の演算について話チュートリアル、探しているチュートリアル

実は私がしようとしていますそのようなライブラリが存在しない組み込みシステムのために大きな数のライブラリを実装することです。そこで、符号付きの大きな整数を扱う方法と、ビットを操作して算術計算を行う方法を学びたいと思います。今私が持っている唯一のアイデアは、サイン用に予約された1ビットの大きなuint8_t配列に大きな整数を保持することです。たとえば、160ビットの整数が必要な場合は、配列uint8_t num [21]が必要です。

私が学ばなければならない基本的な知識は何ですか?私はGoogleで検索しましたが、よく説明されたチュートリアルはあまり見つかりませんでした。それとももっと正確には、私が使用しなければならないキーワードが何か分かりません。

私はあなたの提案が必要です。面白いチュートリアルがどこにあるのか分かっているなら、ここにリンクを投稿してください。 PDF、Webページ、動画など。

ありがとうございます。

+0

googleとwikipediaが役立ちます。 –

+0

このライブラリをC言語で作成する予定ですか?はい、私はビットを操作することによって算術計算を行う方法を知る必要がある理由を理解していない...組み合わせ回路のトピックは、巨大であり、常に些細なではない...または多分私はあなたの質問を誤解した。 – Saphrosit

+0

多分、C言語で実装されているビンガムライブラリである[GNU MP](http://gmplib.org/)をご覧ください。 – larsks

答えて

1

トピック。

さらに詳しい情報はここで見つけることができます:http://en.wikipedia.org/wiki/Arbitrary-precision_arithmetic「基本的な知識を」懸念している限り

:あなたは算術演算を実行するためのアルゴリズムを学ぶ必要があります。動的メモリ管理についてもかなり有能な理解が必要です。私はあなたのアプローチを使用して配列が非常に不器用で無駄になる可能性があると思う。

1

何週間か前、私はStack Overflowで迷っていましたが、this articleが見つかりました。おそらくこれが役に立ちます。

残念ながら、投稿した最初のリンクで算術演算が表示されませんでした。

算術演算では、hereと表示されます。

電子は論理ゲート=論理演算操作のためプログラミングと同じ概念です。そのリンクの「見てください」のセクションでは、より多くのことを手伝ってください。 (特にバイナリマルチプライヤ)

PM私があなたがやっていることに成功すれば、それがどのように働くか学びたいと思っています。

+0

ありがとう、最初のリンクも非常に有用です。 – Allopopo

0

ビット単位の演算(加算、減算など)は実際にはありませんが、ビット単位の演算(AND、OR、XOR、論理左シフト、論理右シフト、算術右シフト)を使用して実装できます。

を参照してください:あなたは、任意精度演算と呼ばれていることに興味がhttp://en.wikipedia.org/wiki/Bitwise_operation

関連する問題