![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
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?e8efa67)
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#
-
-
4
商と剰余を同時に求める(C言語)
C言語・C++・C#
-
5
2の補数を計算するプログラム
C言語・C++・C#
-
6
2進数の割り算が分かりません・・・。
数学
-
7
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
8
C言語において、 配列要素をひとつずつ前にずらすコード
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
三角関数、逆三角関数の算出方...
-
16進数 加算 減算 C言語
-
三菱シーケンサ(Aシリーズ)で...
-
double型からfloat型への型変換...
-
C言語で2進数の減算
-
定数の定義方法 #define
-
32bitについて…
-
ExcelでPC(パソコン)によって...
-
数値計算で生じる小さなごみ
-
100桁の計算ができなくて困って...
-
C言語でセルオートマトンを作成...
-
VB6のFIX関数での誤差について
-
有効数字について 以前質問をし...
-
VBAでミリ秒まで出力する方法
-
EXCELの関数"STDEV(標準偏差)"...
-
計算の丸め誤差の解消について
-
EXCELで 0.1 はなぜ 0.1 となる...
-
対数から真数に
-
VB.net Double と...
-
VB6.0での小数点の扱いについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
O(n log n)について2
-
16進数 加算 減算 C言語
-
c languageで 簡単な質問があ...
-
VB.net Double と...
-
”/”を使わずに割り算したいんで...
-
三菱シーケンサ(Aシリーズ)で...
-
ExcelのINT関数の計算結果がお...
-
有効数字について 以前質問をし...
-
ExcelでPC(パソコン)によって...
-
除算を使わずに10で割りたい。
-
EXCELの関数"STDEV(標準偏差)"...
-
floatの有効桁数
-
VBAでミリ秒まで出力する方法
-
100桁の計算ができなくて困って...
-
2進数の足し算(C言語)
-
VB6.0での小数点の扱いについて
-
VBAでの割り算の余りの求め方
-
コンピューターは指数関数をど...
-
距離から緯度経度を求める方法
-
BCD・HEX・BINについて
おすすめ情報