#include <stdio.h>
#include <stdlib.h>

#include "binary_printer.h"

void print_binary(int number, int num_bytes);

int main()
{
	short signed_short = -12345; /* -12345 */
	int signed_int = signed_short; /* -12345 */

	printf("\nExtending a signed short to a signed int...\n");

	printf("signed_short = %d (0x%hX) \t\t\t     ", signed_short, signed_short);
	print_binary(signed_short, sizeof(short));

	printf("\nsigned_int = %d (0x%X) ", signed_int, signed_int);	
	print_binary(signed_int, sizeof(int));

	printf("\n\nConverting a signed short to a unsigned short...\n");

	unsigned short unsigned_short = signed_short; /* 53191 */
	unsigned unsigned_int = unsigned_short; /* 53191 */

	printf("unsigned_short = %u (0x%hX) \t\t     ", unsigned_short, unsigned_short);
	print_binary(unsigned_short, sizeof(short));

	printf("\n\nExtending an unsigned short to a unsigned int...\n");

	printf("unsigned_int = %u (0x%hX) \t ", unsigned_int, unsigned_int);	
	print_binary(unsigned_int, sizeof(unsigned));

	printf("\n");

	return 0;
}

