<prompt> Hamming distance kati ya nambari mbili kamili ni idadi ya nafasi ambapo biti zinazolingana ni tofauti.Kwa kuzingatia nambari mbili x na y, rudisha _umbali wa Hamming kati yao_.Mfano wa 1:Ingizo: x 1, y 4Pato: 2Maelezo:1 0 0 0 14 0 1 0 0 Mishale iliyo hapo juu inaelekeza kwenye nafasi ambapo biti zinazolingana ni tofauti.Mfano wa 2:Ingizo: x 3, y 1Pato: 1Vikwazo: 0 x, y 231 - 1  <response>: chatudef hamingDistancex: int, y: int - int: xorResult x y sehemu 0 wakati xorResult: dist xorResult 1 matokeo 1 kurudi distmaelezoTunaweza kuanza kwa kuchukua XOR ya x na y. Thamani ya XOR B itakuwa na seti kidogo ikiwa tu biti A na B ni tofauti katika nafasi hiyo. Kisha tunarudia kupitia bits za matokeo ya XOR, kuhesabu idadi ya bits zilizowekwa, ambazo zinapaswa kutupa umbali wa Hamming unaohitajika.1. Kokotoa xorResult kwa XORing x na y.2. Anzisha dist hadi 0.3. Wakati xorResult sio 0, fanya yafuatayo: a. Ongeza sehemu ndogo zaidi ya xorResult kwa dist. b. Sogeza kulia xorResult kwa 1.4. Rudisha dist.Algoriti hii hufanya shughuli za busara kidogo na mizunguko kupitia biti za xorResult, ambayo ina upeo wa biti 31 kutokana na kizuizi 0 x, y 231 - 1. Kwa hivyo, ugumu wa wakati ni O31 O1. 