char p = 128;
unsigned long l = p;
Лонг побитно получился такой:
1000000011111111111111111111111111111111111111111111111111111111
Ну да, знаковое в беззнаковое конвертировать -- это конечно ербалайство, спору нет. Но всё равно интересно, как оно внутри так устроено, что так получается? Ведь если сделать unsigned char = char, то получилось бы 128, зачем в лонге единицы появились?