サンプル集  >  VC  >  数値の演算
数値の演算
1996/06/11

色々な演算の例。+,-,*,/,%,++,--,&,|,^,~演算子を使用したサンプルです。

P002.cpp
 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 

20: 
21: 

22: 
23: 
24: 

25: 
26: 
27: 

28: 

29: 
30: 
31: 

32: 
/*              */
/*  数値の演算  */
/*              */

#include <stdio.h>

void main(void) {
    int i = 10;
    printf("%d\n", i + 1);
    printf("%d\n", i - 2);
    printf("%d\n", i * 3);
    printf("%d\n", i / 4);
    printf("%d\n", i % 5);   // iを5で割った余りを表示する。
    printf("%d\n", i++);     // iを表示した後、iに1を足している。
    printf("%d\n", i--);     // 上記と同じ動作。
    printf("%d\n", --i);     // iから1を引き、そのまま表示する。

    i = 0x23;
    printf("%x\n", i & 0x11);       // %x(符号なし16進数。"abcdef
"を使用)

                                    // &(論理積:AND)
                                    // 00100011 AND 00010001 = 000
00001

                                    // (両方1なら1、他は0)
    printf("%x\n", i | 0x11);       // |(論理和:OR)
                                    // 00100011 OR 00010001 = 0011
0011

                                    // (片方が1なら1、他は0)
    printf("%x\n", i ^ 0x11);       // ^(排他的論理和:XOR)
                                    // 00110010 XOR 00010001 = 001
10010

                                    // (両方違えば1、00や11は0

    printf("%x\n", ~i);             // ~(アドレス反転:NOT)
                                    // NOT00100011=11011100
                                    // (1→0、0→1に反転する
。)

}


2012/10/01 追記

実行結果がなかったので、今使っている環境で動かしてみます。

◆環境
OS Windows 7 Professional Service Pack 1 (64bit)
VC Microsoft Visual C++ 2008 91179013607480673-60595

[ファイル]-[新規作成]-[プロジェクト]を選択します。

[Visual C++]-[Win32]-[Win32 コンソール アプリケーション]を選択し、名前に「P002」と入力しOKを押します。

アプリケーション ウィザードはそのまま「完了」を押します。

ビルドエラーがでました。

c:\p001\p001.cpp(6) : fatal error C1083: include ファイルを開けません。'iostream.h': No such file or directory

iostream でVCのインストールフォルダを検索したところ、.hが付いていない「iostream」というファイルが見つかりました。

プログラムの #include <iosftream.h> の .hを削除して再度ビルドしたところ次のエラーがでました。

c:\p001\p001.cpp(39) : error C2065: 'cout' : 定義されていない識別子です。

cout を std::cout に変更したところビルドできました。

早速実行してみます。

1
2
30
1.000000
2.000000
A
ABC
hello

昔のプログラムはそのまま動かないみたいですね。 ちなみに、昔でていたと思われる警告(ソースに書いてある「警告について」の内容)はでませんでした。

▲ PageTop  ■ Home


Copyright (C) 2012 ymlib.com