タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

CとC++に関するiga_kのブックマーク (5)

  • Delta138 >>> Go Past Beyond Online Gaming Meta World

    Meta Online Gaming Hunter and Seeker Only At Delta138 Daftar Slot Paling Gacor di Delta138 dengan tingkat kemenangan dan RTP Gacor seperti. Slot online, Poker, Baccarat, Live Casino, Togel, Tembak ikan, Pragmatic play, Habanero, PG Soft, Joker, dan Spadegaming.

    Delta138 >>> Go Past Beyond Online Gaming Meta World
    iga_k
    iga_k 2009/01/22
    壁にはっておきたい。
  • 浮動小数点演算ではまった話 - bkブログ

    浮動小数点演算ではまった話 浮動小数点演算のありがちな問題ではまりました。 いろいろ調べているうちに x86 特有のちょっとおもしろい 現象に遭遇したので紹介したいと思います。 パーセンテージの計算 簡単な C のプログラムでパーセンテージを計算しようと思い、 次のようなコードを書きました。 int x, y; ... int a = (double)x / y * 100; int a = x * 100 / y としないのは、 x が大きい場合に x * 100 が オーバーフローを起こす (INT_MAX を越える) ためです。 このコードは一見、期待通りに動いていたのですが、 しばらく使っていると、手元の環境では x = 53, y = 100 のときに a は 53 ではなく 52 になることに気づきました。 これは次の理由によります。 式の最初の (double)53 / 10

    iga_k
    iga_k 2007/03/01
  • プログラミング言語 C の新機能 Part XIX: INT#6:inttypes.h[1/2] - seclan のほえほえルーム

    プログラミング言語 C の新機能 Part XIX: INT#6:inttypes.h[1/2] (1999/07/05 [月]) stdint.h で定義される整数型、例えば int_fast32_t のような型を使えば、移植性を保ったまま、最も効率のよい整数型を使用することが可能になります。しかし、この型を使った変数を printf で出力したり、scanf で入力することを考えましょう。すると、printf や scanf ではそのような型は定義されていないので指定できません。そのようなことから、利用者は int_fast32_t の実際の型を調べてその型を書式指定名として書かなくてはなりませんが、これでは移植性がなくなってしまいます。 inttypes.h では、書式指定マクロの定義を提供することによりこの問題を解決します。例えば、printf("val=%"PRIxFAST32"

    iga_k
    iga_k 2007/02/12
    int32_tのような環境依存でintやlongにtypedefされているものをprintfで使う場合は%PRId32。
  • いやなブログ: Cのポインタを整数に変換する

    Cのポインタを整数に変換する Cのポインタを整数に変換したいときがあります。このとき問題になるのは、ポインタのサイズが int と同じとは限らないということです。たとえば、 x86_64 の 64ビットのバイナリでは sizeof(int) = 4, sizeof(void *) = 8 となります。ポインタと同じサイズの整数を使いたい場合は C99 で導入された stdint.h で提供される intptr_t または uintptr_t を使います。 stdint.h には他にも int32_t や int64_t など、サイズつきの整数の型も提供されています。たとえば、uint64_t を使うと、64ビットの符合なし整数を扱うことができます。 私の場合、C++ のプログラムで void * から直接 uint64_t にキャストしようとしてはまりました。次のプログラムを x86_32

    iga_k
    iga_k 2006/06/12
    32/64bit環境でポインタを格納するにはuintptr_t。
  • checkstack.pl で関数のスタック消費量を調べる - bkブログ

    checkstack.pl で関数のスタック消費量を調べる Linux カーネルのソースコードに付属する checkstack.pl を使うと、C/C++ のプログラムの関数のスタック消費量を調べることができます。checkstack.pl は objdump -d のディスアセンブルの出力からスタックポインタの操作をパターンマッチしてスタックの消費量を計算しています。 入手方法 checkstack.pl は Linux カーネルのソースコードに付属しています。Debian GNU/Linux sarege なら次のようにコマンドラインから実行して取得できます。ソースツリーに含まれる scripts/checkstack.pl が目的のものです。 % apt-get source kernel-source-2.6.8 使い方 checkstack.pl の使い方は簡単です。スタックサイ

    iga_k
    iga_k 2006/04/30
  • 1