![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.4
- 回答日時:
> ただし、ループで10を引き続けてカウントする方法は除外させてください。
ループで10を足し続けて、被除数を越える直前の値が商。
No.3
- 回答日時:
学生さんの宿題ですかねぇ。
除算がダメなら0.1を乗算すればいいのでは、とか詭弁を使ってみたりして。冗談はさておき、除算にはいくつかのアルゴリズムがありますが、復元法なら簡単だと思います。2で割る部分はシフトで求めます。
詳しいアルゴリズムはこんなところで。
参考URL:http://www.elc.ees.saitama-u.ac.jp/ITO/Ex4/divid …
回答ありがとうございます。
恥ずかしながら理解するのに時間が掛かりました。
実のところ、ループも使わずに出来ないかと思うのですが
お手数ですが他の方法をご存知であればご教示ください。
今回の回答に不満があるというわけではありません。
実際プログラムを組んでみて、例えば数kBの数値を除算するのにどれほどの時間が掛かるか試して見る必要があります。
マルチバイトの比較やシフトなんかも組まないといけないので
今実際に試すことができません。
回答には大変感謝しております。
ありがとうございました。
また、他の回答も随時受け付けております。
No.2
- 回答日時:
課題じゃないんですか?
だと、そのまま質問するのはルール違反なんですけど。
こういうのはヒントになるでしょうか。(全然役に立たないかも知れませんが。)
論理演算可能な数値らしいので、浮動小数点とかではないですよね。
・乗算せずに10倍する方法。
・3bitシフトして8倍の値と、1bitシフトして2倍の値を得る。
・それらを加算すると10倍の値を得られる。
回答ありがとうございます。
申し訳ありませんが、乗算に関しては自分でいろいろやって、お書きになった方法に関してもよく理解しているつもりです。
しかしながら、除算になると事が違ってきます。
単純に、2で割ったものと8で割ったものを引いても足しても意味がありません。
2進数では1/10が循環小数になってしまうのです。
いくつか近似値を求める方法は試したのですが、うまく誤差の修正がいきません。
200弱くらいまでしか正しい結果を得られませんでした。
これをマルチバイトに適応するとなるともっと効率のいい方法が必要になると感じています。
情報が少なくて申し訳ありませんでした。
ありがとうございました。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_14.png?5a7ff87)
No.1
- 回答日時:
素直に除算を使用して10で割るのが、自然だとおもうのですが、
どうして、除算を使用してはいけないのでしょうか。(コンパイラが除算をサポートしていないのでしょうか)
その辺の事情を書かれると、良い回答が得られるかもしれません。
この回答への補足
そうですね、いろいろ用途があります。
例えば、32ビットを超える多倍長のバイナリを10進数表記にしたり
それを使って、2進化10進数への変換を行ったり
方法によっては多倍長演算にも使えそうですかね。
多倍長演算に関しては、数値を文字列に変換して行うのが基本だと思うのですが
バイナリで行いたいと常々感じていました。
言語によっては初めからサポートされてるものもあるようですが
実際に使った事は無いので結果がバイナリで出力されるのかどうかわかりません。
もちろんC言語ではサポートされていないので実装したいとも思っています。
多倍長のバイナリ16進数から10進数に変換する方法だけでもいいです。
たぶん、そのほうが手っ取り早いです。
うまく説明できているかどうかわかりませんが、問題解決に協力していただきたいです。
友人に説明したところ、何言ってるかわからないと言われました。すみません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(お金・保険・資産運用) 至急!【Wolt】各メニューの価格設定の簡単な計算方法 3 2023/03/05 11:58
- 電気工事士 6.6kVケーブル単芯325sq-1.5kmの遮蔽銅テープ抵抗値は何Ω? 1 2023/05/02 21:06
- 所得税 所得税の計算方法がわかりません 4 2022/06/26 13:36
- 減税・節税 国保➡社会保険に加入のがふるさと納税の恩恵がある? 3 2023/05/26 11:48
- 減税・節税 ふるさと納税返礼品制度を活用する為の方法 1 2023/05/23 15:56
- 統計学 標準誤差の求め方 2 2022/07/04 19:59
- その他(IT・Webサービス) 2点の住所を入力して直線距離を算出する方法・サイト 1 2023/02/22 16:52
- 消費税 インボイス制度 2 2022/11/19 14:44
- C言語・C++・C# 【CASLプログラム】 定数(80と55)を確保し、その和をGR1に、その差をGR2に求めるCASL 1 2022/12/16 01:17
- FX・外国為替取引 IRR(内部収益率)の求め方 1 2022/10/16 14:45
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
”/”を使わずに割り算したいんですが…
C言語・C++・C#
-
C言語で%を使わない余りの出し方
C言語・C++・C#
-
C言語のポインタに直接アドレスを割り振りしたい
C言語・C++・C#
-
-
4
2の補数を計算するプログラム
C言語・C++・C#
-
5
正負を反転させて出力するプログラム
C言語・C++・C#
-
6
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
7
2進数の割り算が分かりません・・・。
数学
-
8
C言語において、 配列要素をひとつずつ前にずらすコード
C言語・C++・C#
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
O(n log n)について2
-
EXCELの関数"STDEV(標準偏差)"...
-
c languageで 簡単な質問があ...
-
計算の丸め誤差の解消について
-
除算を使わずに10で割りたい。
-
VB.net Double と...
-
時刻の比較
-
16進数 加算 減算 C言語
-
VB6のFIX関数での誤差について
-
三菱シーケンサ(Aシリーズ)で...
-
C#にて電卓を作りたいのですが...
-
ExcelでPC(パソコン)によって...
-
Double型について
-
VB6.0での小数点の扱いについて
-
ハッシュ関数
-
floatの有効桁数
-
どんな数字を入力してもaverage...
-
16進数とかわからないです
-
有効数字について 以前質問をし...
-
桁落ちのプログラムで真の値と...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
O(n log n)について2
-
16進数 加算 減算 C言語
-
c languageで 簡単な質問があ...
-
ExcelでPC(パソコン)によって...
-
”/”を使わずに割り算したいんで...
-
有効数字について 以前質問をし...
-
三角比の俯角の計算
-
ExcelのINT関数の計算結果がお...
-
VB.net Double と...
-
floatの有効桁数
-
パソコンで階乗を計算
-
三菱シーケンサ(Aシリーズ)で...
-
除算を使わずに10で割りたい。
-
VB6.0での小数点の扱いについて
-
EXCELの関数"STDEV(標準偏差)"...
-
時刻の比較
-
VBAでの割り算の余りの求め方
-
計算の丸め誤差の解消について
-
C言語プログラミングにて、arct...
-
VBAでミリ秒まで出力する方法
おすすめ情報