Когда мы объявляем переменную int
, например:Как поплавок и двойная работа в IL
int i = 4;
генерируется следующая IL:
IL_0001: /* 1A | */ ldc.i4.4
Я могу понять, что 1A является шестнадцатеричным представлением 4, так я понимаю, что значение шестнадцатеричного значения сохраняется, чтобы ссылаться на его ценность или что-то другое?
Когда я объявляю двойной переменной как:
double d = 12.34;
Вслед за IL генерируется, который я не в состоянии получить несколько вещей в нем:
IL_0003: /* 23 | AE47E17A14AE2840 */ ldc.r8 12.34
Как 23 идет и что это значит и что здесь AE47E17A14AE2840
?
Когда я объявляю поплавок с тем же значением:
float f = 12.34f;
у меня есть этот IL прямо сейчас:
IL_000d: /* 22 | A4704541 */ ldc.r4 12.34
же вопрос здесь, а как 22
приходит и что это значит и что A4704541
?
Это только комментарии. Они вообще не влияют на двоичный файл. ваш дизассемблер генерирует их. – usr