鍘熷垱锛氭寜閽棩璁帮紙寰俊鍏紬鍙稩D锛歝odelogs锛夛紝娆㈣繋鍒嗕韩锛岃浆杞借淇濈暀鍑哄銆傚紩瑷€浼楁墍鍛ㄧ煡锛岀紪绋嬭瑷€涓€鑸兘鍐呯疆浜嗕笁绉嶄綅杩愮畻绗?(AND)銆亅(OR)銆亊(NOT)鏉ュ疄鐜颁綅杩愮畻锛屼絾瀹為檯涓婅繕鏈変竴绉嶉潪甯稿父鐢ㄧ殑浣嶈繍绠楋紝鍗砐OR^(XOR)锛屽湪鏁板涓父鐢ㄦ潵琛ㄧず銆傚紓鎴栫殑杩愮畻閫昏緫濡備笅锛?鈯?=01鈯?=10鈯?=10鈯?=0绠€鍗曟潵璇达紝寮傛垨鐨勭壒鐐规槸濡傛灉涓や釜鍊肩浉鍚岋紝鍒欑粨鏋滀负0锛屼笉鍚屽垯涓?锛屾墍浠ュ彨XOR銆備袱涓€间笉涓€鏍凤紝鐒跺悗閫昏緫鎴栧湪涓€璧凤紝涓嶅氨鏄?鍚楋紵鐢变簬寮傛垨鐨勭壒娈婅繍绠楃壒鎬э紝瀹冨彲浠ュ疄鐜颁竴浜涚濂囩殑杩愮畻锛屽涓嬶細瀹炵幇鍔犲噺娉曞姞瀵嗚В瀵嗗瘑閽ヤ氦鎹㈡暟鎹浠戒竴璧锋潵鐪嬬湅鍚э紒杩愮畻娉曞垯浠绘剰鍊间笌鑷韩寮傛垨锛岀粨鏋滀负0x^x=0浠绘剰鍊间笌0寮傛垨锛岀粨鏋滀负鑷韩x^0=x浜ゆ崲寰媥^y^z=x^z^y缁撳悎寰媥^y^z=x^(y^z)XOR鐨勮繍绠楁硶鍒欐瘮杈冪畝鍗曪紝鏁板璇佹槑灏变笉鍐欎簡銆傛湁鍏磋叮鐨勫彲浠ヤ笂缃戞悳绱竴涓嬨€傚疄鐜板姞鍑忔硶寮傛垨鐨勭涓€涓簲鐢ㄥ満鏅氨鏄疄鐜板姞鍑忔硶銆傛垜浠湪灏忓鐨勬椂鍊欏簲璇ュ杩囧姞鍑忓甫杩涗綅鍑忔硶鍋氬姞鍑忔硶銆傝鎴戜滑鍥為【涓€涓嬨€傝繘浣嶅姞娉曪細褰撴煇浣嶄笂鐨勪袱涓暟涔嬪拰澶т簬10鏃讹紝闇€瑕佽繘浣嶏紝鍗冲湪楂樹綅涓婇澶栧姞1銆傞€€浣嶅噺娉曪細褰撴煇浣嶄笂鐨勪袱涓暟鐩稿噺杩樹笉澶熸椂锛岄渶瑕侀€€浣嶏紝鍗充粠楂樹綅鍊燂紙鍑忥級涓€涓?浣滀负10浣跨敤銆俋OR鍏跺疄鍜岃繖涓被浼硷紝鍙槸鍋氫笉浜х敓杩涗綅鍜岄€€浣嶏紝濡備笅锛氭瘮濡備簩杩涘埗鍔犳硶01+01=10锛岃€屽紓鎴栬繍绠椾负01^01=00锛屽叾瀹炴槸鍋氬姞娉曪紝鍙槸楂樹綅涓嶈繘浣嶏紝鎵€浠ュ紓鎴栦篃鍙笉甯﹁繘浣嶇殑鍔犳硶鎼哄甫銆備緥濡備簩杩涘埗鍑忔硶10-01=01锛岃€屽紓鎴栬繍绠椾负10^01=11锛屼篃鍙互鐪嬫垚鍗曚綅浣?鍚戦珮浣嶅€熶簡涓€涓?浣滀负2浣跨敤锛屼絾楂樹綅涓嶅噺1锛屾墍浠ュ紓鎴栦篃鍙互鍙笉閫€浣嶅噺娉曘€傚埄鐢ㄥ紓鎴栫殑杩欎釜鐗规€э紝鍙瑙e喅杩涗綅鍜岄€€浣嶉棶棰橈紝灏卞彲浠ュ疄鐜板姞鍑忔硶銆備笅闈㈡槸java浠g爜瀹炵幇锛歱ublicstaticintintPlus(inta,intb){while(b!=0){//鍔犳硶锛堜笉鑰冭檻杩涗綅锛塱ntsum=a^b;//杩涗綅鍊硷紝浜岃繘鍒?+1鐨勫満鏅兘浼氳繘浣嶏紝a&b鍙湁涓や釜涓?锛岀粨鏋滀负1锛屽乏绉讳竴浣嶏紝灏辨槸杩涗綅鍊糹nt鍔犳硶=(a&b)<<1;//璧嬪€硷紝涓嬩竴娆″惊鐜皢杩涗綅鍔犲埌a锛岀洿鍒拌繘浣嶇瓑浜?a=sum;b=鍔犳硶锛泒returna;}publicstaticintintSubtract(inta,intb){while(b!=0){//鍑忔硶锛堜笉鑰冭檻閫€浣嶏級intsum=a^b;//閫€浣嶅€硷紝浜岃繘鍒?-1鐨勫満鏅細閫€浣嶏紝~a&b鍙湁a=0锛宐=1锛岀粨鏋滀负1锛屽乏绉讳竴浣嶅氨鏄€€浣嶅€糹ntabdication=(~涓€涓?b)<<1;//璧嬪€硷紝涓嬩竴涓惊鐜細鍐嶆閫€浣峚鍑忓幓锛岀洿鍒伴€€浣嶇瓑浜?a=sum;b=閫€浣嶏紱}杩斿洖涓€涓紱}杩欏氨鏄负浠€涔圕PU婊℃槸浣嶈繍绠楃殑閫昏緫闂ㄧ數璺紝鍗村彲浠ュ疄鐜版暟鍊艰绠楌煒卞姞瀵嗚В瀵嗗彲浠ョ敤XOR瀹炵幇绠€鍗曞姞瑙e瘑锛屽鏋滄槑鏂囨槸鏄庢枃锛屽瘑閽ユ槸瀵嗛挜锛屽瘑鏂囨槸secret锛岄偅涔堬細//鍔犲瘑secret=plain^key//瑙e瘑plain=secret^key涓轰粈涔堜竴瀹氳鑳借В瀵嗭紝濡備笅锛歴ecret^key=(plain^key)^key//浠e叆encryptedexpression=plain^(key^key)//鏇夸唬缁撳悎寰?plain^0//浠讳綍鍊糥OR绛変簬0=plain//浠绘剰鍊煎拰0寮傛垨绛変簬鑷繁鐨刯ava瀹炵幇濡備笅锛歱ublicstaticbyte[]xorEncrypt(byte[]plain,byte[]key){byte[]secret=newbyte[plain.length];for(inti=0;i
