bit_operatorプロジェクト

「bit_operatorプロジェクト」の編集履歴(バックアップ)一覧はこちら

bit_operatorプロジェクト」(2010/07/08 (木) 13:09:12) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

***bit_operator.c #highlight(c){{ /*------------------------------------------------------------------------------ * Title: bit_operator * Project: bit_operator * Source: bit_operator.c * Author: B.G * Group: B.G * Created: 13:43 2009/11/07 * Last Modified: 13:43 2009/11/07 * ---------------------------------------------------------------------------*/ /* ヘッダファイルのインクルード */ #include <stdio.h> /* stdio.hのインクルード */ /* main関数 */ int main(void){ /* 変数の宣言 */ unsigned char result_or; /* 2つのビット値の論理和(OR)の結果を格納するunsigned char型変数result_or */ unsigned char result_and; /* 2つのビット値の論理積(AND)の結果を格納するunsigned char型変数result_and */ unsigned char result_not; /* ビット値の否定(NOT)の結果を格納するunsigned char型変数result_not */ unsigned char result_xor; /* 2つのビット値の排他的論理和(XOR)の結果を格納するunsigned char型変数result_xor */ unsigned char result_rshift; /* ビット値の右シフト(RSHIFT)の結果を格納するunsigned char型変数result_rshift */ unsigned char result_lshift; /* ビット値の左シフト(LSHIFT)の結果を格納するunsigned char型変数result_lshift */ unsigned char b1; /* 値1を格納するunsigned char型変数b1 */ unsigned char b2; /* 値2を格納するunsigned char型変数b2 */ /* 値の初期化 */ b1 = 5; /* b1に5をセットする(5 = 00000101) */ b2 = 3; /* b2に3をセットする(3 = 00000011) */ /* 論理和 */ result_or = b1 | b2; /* (00000101 | 00000011) = (00000111) */ printf("5(00000101) | 3(00000011) = %u(= 00000111)\n", result_or); /* 結果をprintfで表示 */ /* 論理積 */ result_and = b1 & b2; /* (00000101 & 00000011) = (00000001) */ printf("5(00000101) & 3(00000011) = %u(= 00000001)\n", result_and); /* 結果をprintfで表示 */ /* 否定 */ result_not = ~b1; /* (~00000101) = (11111010) */ printf("~5(00000101) = %u(= 11111010)\n", result_not); /* 結果をprintfで表示 */ /* 排他的論理和 */ result_xor = b1 ^ b2; /* (00000101 ^ 00000011) = (00000110) */ printf("5(00000101) ^ 3(00000011) = %u(= 00000110)\n", result_xor); /* 結果をprintfで表示 */ /* 右シフト(右に2つ論理シフト) */ result_rshift = b1 >> 2; /* (00000101 >> 2) = (00000001) */ printf("5(00000101) >> 2 = %u(= 00000001)\n", result_rshift); /* 結果をprintfで表示 */ /* 左シフト(左に2つ論理シフト) */ result_lshift = b1 << 2; /* (00000101 << 2) = (00010100) */ printf("5(00000101) << 2 = %u(= 00010100)\n", result_lshift); /* 結果をprintfで表示 */ /* プログラムの終了 */ return 0; } }}

表示オプション

横に並べて表示:
変化行の前後のみ表示: