C и C ++ разрешено иметь целые числа переменного размера ... насколько я помню, единственным требованием является то, что small <= int <= long. Поэтому, безусловно, компилятор может выдавать 32-битные целые числа на 32-битной машине и 64-битные целые на 64-битной машине. </p>
Кстати, размеры чисел с плавающей запятой и двойников в C # определены только для хранения - переменным разрешено использовать дополнительную точность. Итак, следующее условие:
class Foo
{
private float _v = ...; // Definitely 32-bit.
void Test()
{
var v = _v; // Could be 32-, 64-, or 96-bit.
if(v == _v) {
...
}
}
}
Может или не может выполнить. (На момент написания CLR обычно использует 96-битный регистр FP в режиме выпуска, если это возможно).