『Cパズルブック』(Alan R.Feuer, 1985)
[Mac M2 Pro 12CPU, MacOS Ventura 13.3.1, clang 14.0.3]
問1.4.4の解法は以下の通りです。
#include <stdio.h>
#define PRINT(int) printf("%d\n",int)
int main() {
int x , y, z;
// 先頭に0を付けると8進数になる
x = 03; y = 02; z = 01;
// 問1.4.4
PRINT( x & y && z); // 1
// ビットAND &を優先
PRINT( (x & y) && z); // 1
// 計算1: x & y
// x = 0b00000011
// y = 0b00000010
// & --------------
// 0b00000010
// 計算2: (x & y) && z
// Lt = 0b00000010 != 0 = TRUE
// z = 0b00000001 != 0 = TRUE
// && -------------
// TRUE or 1
// よってTRUE(10進数1)になる
return 0;
}
1
1