>>599
"真"を言葉の意味どおりに、
"正しい"という意味で考てしまうと分かりにくくなる。

変数p1、p1_pに代入されている数値について、
・数値が0なら"偽"
・数値が0以外(1,2,3,…、および、-1,-2,-3,…)なら"真"
…と言っているだけのこと。

今回の場合、単純に、変数の値が1なら真。

よって、(p1 ^ p1_p) の「p1かp1_pの片方だけが真」てのは
「p1かp1_pのどちらかだけが1」って意味。