Integer division and scaling an input
As far as I'm concerned, there's no need for float division here at all, if you're just going to cast the result to an integer and write to a port. The result of your float division will be truncated to yield an integer, so you might do integer arithmetic.

unsigned int input;
unsigned char output;

void main(){
  TRISA = 0x00;
  input = 1000;//operator has input 1000
  output = input/100;//scale input by 100
  PORTA = output;//output 6-bit number

  while (1);  //while away once the program is done
}


For implementation independence, you can include stdint.h and use uint8_t and uint16_t to define output and input respectively, though thats hardly necessary here. If you do want the benefits of float division, you have to round. 

#include &lt;math.h&gt;

unsigned int input;
unsigned char output;

void main(){
  TRISA = 0x00;
  input = 1000;
  output = round((double)input/100.0);  // implicit cast to uchar
  PORTA = output;

  while (1);  //while away once the program is done
}


I should mention that this latter approach is more costly than the former, since its floating point arithmetic. Use this only if you need the additional accuracy.

EDIT:

A compromise would be to add an offset to input and then dividing; this increases the accuracy of your results by simulating rounding with integer math. Its a lot more efficient than the floating point option.

unsigned int input;
unsigned char output;

void main(){
  TRISA = 0x00;
  input = 1000;
  output = (input + 50) / 100; 
  PORTA = output;

  while (1);  //while away once the program is done
}