C#でXOR演算を使用して数学と英語の点数に基づいて判定するサンプルコードを示す.
以下のコードはC#で書いている.
条件:
数学(math)と英語(English)両方の点数が、
80点以上なら「hight」
数学(math)と英語(English)いずれかの点数が、
60点以上、80点未満なら「middle」
数学(math)と英語(English)いずれの点数も、
60点未満なら「row」
using System;
class Program
{
static void Main()
{
int math = 85; // 数学の点数
int english = 75; // 英語の点数
string result = EvaluateScores(math, english);
Console.WriteLine(result);
}
static string EvaluateScores(int math, int english)
{
// 80点以上の場合は "high"
if (math >= 80 && english >= 80)
{
return "high";
}
// 60点以上80点未満の場合は "middle"
if ((math >= 60 && math < 80) ^ (english >= 60 && english < 80))
{
return "middle";
}
// それ以外の場合は "row"
return "row";
}
}
排他的論理和(XOR)を表す演算子が「^」ということを初めて知った.
WEB開発の文脈における排他的論理和(XOR)演算のユースケース.
ユーザーの入力バリデーションで使える.
using System;
class Program
{
static void Main()
{
Console.WriteLine("オプション1を選択する場合は 'y' を、選択しない場合は 'n' を入力してください:");
bool option1 = Console.ReadLine().ToLower() == "y";
Console.WriteLine("オプション2を選択する場合は 'y' を、選択しない場合は 'n' を入力してください:");
bool option2 = Console.ReadLine().ToLower() == "y";
if (ValidateOptions(option1, option2))
{
Console.WriteLine("正しい選択です。いずれか一方のオプションが選択されました。");
}
else
{
Console.WriteLine("無効な選択です。いずれか一方のオプションを選択してください。");
}
}
static bool ValidateOptions(bool option1, bool option2)
{
// 排他的論理和(XOR)を使用して、いずれか一方のみが選択されているかを確認
return option1 ^ option2;
}
}
JavaScriptで書くとこうなる. フロント側のバリデーションで使えそう.
function validateForm() {
let option1 = document.getElementById('option1').checked;
let option2 = document.getElementById('option2').checked;
if (option1 ^ option2) {
return true; // 正しい選択
} else {
alert('いずれか一方を選択してください。');
return false;
}
}