#include "coder.h"void bc_encode(unsigned int id,FILE* out){ int val = id; while (val >= RADIX) { char byte = val % RADIX; fwrite( &byte, sizeof(char), 1, out ); val = val / RADIX - 1; } char final = val + RADIX; fwrite( &final, sizeof(char), 1, out );}unsigned int bc_decode(FILE* in){ unsigned int v = 0; unsigned int byte = 0; fread( &byte, sizeof(char), 1, in ); unsigned int p = 1; while ( byte < RADIX ) { v = v + (byte + 1) * p; p = p * RADIX; fread( &byte, sizeof(char), 1, in ); } v = v + (byte + 1 - RADIX) * p; return v-1;}