/* Ċ Ġ* ĠĠĠ ĠCopyright Ġ 2 0 1 9 ĠU gl jes a ĠJ ovan ov ic Ċ Ġ* Ċ Ġ* ĠĠĠ ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* ĠĠĠ Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠĠĠ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠĠĠ ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* ĠĠĠ Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠĠĠ ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠĠĠ ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* ĠĠĠ Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ* Ċ Ġ*/ Ċ Ċ package Ġcom . ion spin . kotlin . b ignum . integer . integer Ċ Ċ import Ġcom . ion spin . kotlin . b ignum . integer . BigInteger Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠU gl jes a ĠJ ovan ov ic Ċ Ġ* Ġug lj es a . j ovan ov ic @ ion spin . com Ċ Ġ* Ġon Ġ 0 1 - Nov - 2 0 1 9 Ċ Ġ*/ Ċ class ĠBigInteger Bit wise Operations Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġxor With Zero () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoperand Ġ= ĠBigInteger . parse String (" 1 1 1 1 0 0 0 0 ", Ġ 2 ) ĊĠĠĠĠĠĠĠ Ġval Ġmask Ġ= ĠBigInteger . ZERO ĊĠĠĠĠĠĠĠ Ġval Ġxor Result Ġ= Ġoperand Ġxor Ġmask ĊĠĠĠĠĠĠĠ Ġprintln (" Xor Ġresult : Ġ${ xor Result . toString ( 2 )} ") ĊĊĠĠĠĠĠĠĠ Ġval Ġexpected Result Ġ= Ġoperand ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( expected Result , Ġxor Result ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected Result , Ġmask Ġxor Ġoperand ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġxor Big ger Than Long Max With Zero () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoperand Ġ= ĠBigInteger . parse String (" 9 2 2 3 3 7 2 0 3 6 8 5 4 7 7 5 8 0 8 ", Ġ 1 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġmask Ġ= ĠBigInteger . ZERO ĊĊĠĠĠĠĠĠĠ Ġval Ġexpected Result Ġ= Ġoperand ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( expected Result , Ġoperand Ġxor Ġmask ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected Result , Ġmask Ġxor Ġoperand ) ĊĠĠĠ Ġ} Ċ } Ċ