ショッピングモール  コエンザイムQ10(CoQ10) クレンジング  コエンザイムQ10(CoQ10) 化粧水


【掲示板ご利用上の注意】

 ※題名は具体的に!
 ※学校の課題の丸投げ禁止!
 ※ソースの添付は「HTML変換ツール」で字下げ!
 ※返信の引用は最小限に!
 ※環境(OSとコンパイラ)や症状は具体的に詳しく!
 ※マルチポスト(多重投稿)は謹んで!

 詳しくはこちら



 本当はこんなに大きく書きたくはないのですが、なかなか守っていただけなくて…。
 守ってくださいね。お願いします。(by管理人)

C言語ソース⇒HTML形式ツール   掲示板1こちら


管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    記事検索    ログ    タグ一覧

No.3402

結果が32bitを超える掛け算
投稿者---chibi(2005/02/04 17:08:39)


こんにちは。
大きな値の掛け算はどの様に処理すればいいのでしょうか?
掛け算した結果の上位32ビットを使用したいのです。
例:
long n = 0x12345678;
long n2 = 0x5678;
long ans = (n * n2) >> 32;
double型だと、シフトできません。




この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:結果が32bitを超える掛け算 3403 debu 2005/02/04 17:59:00
<子記事> Re:結果が32bitを超える掛け算 3404 かずま 2005/02/04 18:39:32


No.3403

Re:結果が32bitを超える掛け算
投稿者---debu(2005/02/04 17:59:00)


__int64 とか




この投稿にコメントする

削除パスワード

No.3406

Re:結果が32bitを超える掛け算
投稿者---chibi(2005/02/04 19:22:13)


>__int64 とか
回答ありがとうございます。
しかしながら、この型での解決方法は、わかりませんでした。




この投稿にコメントする

削除パスワード

No.3407

Re:結果が32bitを超える掛け算
投稿者---かずま(2005/02/04 20:18:00)


> しかしながら、この型での解決方法は、わかりませんでした。
コンパイラが、Borland C++ Compiler か Microsoft Visual C++ だったら、
__int64 が使えます。

    long n = 0x12345678;
    long n2 = 0x5678;
    long ans = (__int64)n * n2 >> 32;
    printf("%#lx\n", ans);

コンパイラが gcc だったら、__int64 の代わりに long long が使えます。


【掲示板ご利用上の注意】に

    ※環境(OSとコンパイラ)や症状は具体的に詳しく!

と書いてあることに注意してください。




この投稿にコメントする

削除パスワード

No.3408

Re:結果が32bitを超える掛け算
投稿者---chibi(2005/02/04 23:16:20)


>【掲示板ご利用上の注意】に
>※環境(OSとコンパイラ)や症状は具体的に詳しく!
>と書いてあることに注意してください。
大変失礼しました。BCCを使用しております。
以後気をつけます。
回答ありがとうございました。



この投稿にコメントする

削除パスワード

No.3404

Re:結果が32bitを超える掛け算
投稿者---かずま(2005/02/04 18:39:32)


> double型だと、シフトできません。
「2 の 32乗」で割ればよいのでは?

0x12345678 * 0x5678 = 0x6261D94D840 なので、0x626 が出ればよい。

    long n = 0x12345678;
    long n2 = 0x5678;
    long ans = (long)((double)n * n2 / 4294967296.0);
    printf("%#x\n", ans);



この投稿にコメントする

削除パスワード

No.3405

Re:結果が32bitを超える掛け算
投稿者---chibi(2005/02/04 19:20:44)


>「2 の 32乗」で割ればよいのでは?
なるほど、シフトに拘りすぎてました。
お陰で解決しました。
回答ありがとうございます。



この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    記事検索    ログ    タグ一覧




掲示板提供:Real Integrity