ifの判定について質問です。
このコードで、どうしてaとbが一致しないんでしょうか?
値を吐いてみると、255と-1ですが、コンピュータ的には
1111 1111 と 1111 1111 の比較にならないんでしょうか?
http://codepad.org/bfUt7vxs

char main(void)
{
unsigned char a; /*符号無し*/
char b; /*符号有り*/
char c;

a = 0xFF; /*1バイト全てに1を立てる*/
b = 0xFF; /*1バイト全てに1を立てる*/
c = 0; /*ifの結果確認*/

if(a == b)
{
c = 1;
}
else
{
c = 0;
}
printf("%d \n", c);
printf("%d \n", a);
printf("%d \n", b);
return c;

}