I have written this program for the endian conversion but i am getting incorrect output. I am still unable to understand why?

[insert]
Code:
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
	unsigned int i = 1;
	unsigned int j = 1;
	unsigned int result;
	unsigned int temp1 = 255, temp2 = 255;

	int k  =0;
	
	for(k = 0; k< 31; k++)
	{
		result = j&i;
		printf("%d", (result>0)? 1:0);
		i = i<<1;
	}

	i = 1;

	for(k = 0; k< 31; k++)
	{
		result = temp1&i;
		printf("%d", (result>0)? 1:0);
		i = i<<1;
	}

	i = 1;
	temp1 = temp1<<16;
	temp2 = temp2<<8;

	i = ((i>>24)| ((i<<8) & temp1) | ((i>>8) & temp2) | (i << 24));

	printf("\n After endian conversion\n");

	for(k = 0; k< 31; k++)
	{
		result = j&i;
		printf("%d", (result>0)? 1:0);
		i = i<<1;
	}

	return 0;
}