在易經中,我們用—表示陽;--表示陰;
在計算機中, 用0表示--,1表示—;
兩爻組合得到 太陽, 太陰, 少陽, 少陰, 在計算機中, 分別用11,00,10,01表示
三爻組合, 得到八卦, 乾、兌、離、震、巽、坎、艮、坤, 分別用111,110,101......001,000表示
兩個八卦, 上下組合成64卦, 乾111111, 履110111...艮000001, 坤000000;
占卦, 得到一個本卦, 透過計算機計算, 很輕鬆得到 錯卦(按位異或),互卦,綜卦,雜卦;
根據每爻變化, 很簡單得到變卦.
計算機對識別 初六,初九, 上六,上九,以及六二, 六三,六四, 可以儲存為陣列;
在計算機中,需要列印八卦以及六十四卦 圖,
需要安裝Yijing Symbols.ttf字型;
如: 坤 ䷁ 或䷁ 乾 ䷀ 或 ䷀
<style> @font-face{ font-family: "Yijing Symbols"; src:url("Yijing Symbols.ttf"); } body { font-family: "Yijing Symbols"; } </style> </head>
見圖:
/** * 6位二進位制數,取反, 011001->100110 **/ function cuoGua($data = ''){ // 根據異或長度計算匹配的數值 $numberLen = strlen($data); $xorValue = (1 << $numberLen) - 1; // 計算 2^$numberLen - 1 6位63 // 二進位制到十進位制 $decNumber = bindec($data); // 進行按位異或運算 $resultXor = $decNumber ^ $xorValue; // 補0 $result = str_pad(decbin($resultXor), $numberLen, '0', STR_PAD_LEFT); return $result; // 返回十進位制結果 } function zongGua($data = ''){ $data = str_split($data); $xinArr = array( $data[5], $data[4], $data[3], $data[2], $data[1], $data[0], ); return implode('', $xinArr); } function zaGua($data = ''){ $data = str_split($data); $xinArr = array( $data[3], $data[4], $data[5], $data[0], $data[1], $data[2], ); return implode('', $xinArr); } function huGua($data = ''){ $data = str_split($data); $xinArr = array( $data[1], $data[2], $data[3], $data[2], $data[3], $data[4], ); return implode('', $xinArr); } function yaoName($data = ''){ $configArr = array( '06' => '初六', '16' => '六二', '26' => '六三', '36' => '六四', '46' => '六五', '56' => '上六', '09' => '初九', '19' => '九二', '29' => '九三', '39' => '九四', '49' => '九五', '59' => '上九', ); $data = str_split($data); foreach($data as $key => $val){ if($val > 0){ $result[$key] = $configArr[$key.'9']; }else{ $result[$key] = $configArr[$key.'6']; } } return $result; } function bianGua($data = '', $yao = 1){ $xinArr = str_split($data); ($xinArr[$yao-1] > 0)?$xinArr[$yao-1]=0:$xinArr[$yao-1]=1; return implode('', $xinArr); }