编辑代码

#include <stdio.h>

typedef unsigned int uint32_t;

int main () {
  

    unsigned int num_rounds=2;

    uint32_t v[2]={0x11223344,0xEEDDCCBB};

    uint32_t const  k[4]={0x00000011,0x00000022,0x00000033,0x00000044};

    encipher(num_rounds,  v[2],   k[4]);


	return 0;
}


void encipher(unsigned int num_rounds, uint32_t v[2], uint32_t const k[4])
{
    unsigned int i;

    uint32_t v0=v[0], v1=v[1], sum=0, delta=0x9E3779B9;

        for (i=0;i<num_rounds;i++)
        {

            v0+=(((v1<<4)^(v1>>5))+v1)^(sum+k[sum&3]);

            sum+=delta;

            v1+=(((v0<<4)^(v0>>5)+v0)^(sum+k[(sum>>11)&3]));

        }

    v[0]=v0; v[1]=v1;

    printf("%X",v[0]);

}