Как кастинг типов происходит без потери данных внутри компилятора?
Например:
int i = 10;
UINT k = (UINT) k;
float fl = 10.123;
UINT ufl = (UINT) fl; // data loss here?
char *p = "Stackoverflow Rocks";
unsigned char *up = (unsigned char *) p;
Как компилятор обрабатывает этот тип приведения типов? Низкоуровневый пример, показывающий бит, будет высоко оценен.