Айнымалы жадыда қалай сақталатындығы туралы «int? X = 0» мен «int? X = null» арасындағы айырмашылық неде?


жауап 1:

Нөлленбеген тип мәннің жарамдылығын көрсететін қосымша өрісті қамтиды. Сіздің мысалыңыз C # -ге ұқсайды. Бұл жағдайда, int? бұл System.Nullable аббревиатурасы . System.Nullable бұл Т-ны HasValue қосымша логикалық өрісімен толтыратын жалпы тип. Бұл қосымша логикалық өріс жадта T үшін жадпен бірге сақталады. С # -ге қосылған бос мән түрлеріне арналған синтаксис өрісті қолданатын негізгі әрекеттерді жасырады.

Тұжырымдама, код келесідей:

int? х = 0; // x.Value = 0 тіліне аударылған; x.HasValue = шын; int? х = нөл; // x.HasValue = жалғанға аудару;

Барлық биттік үлгілер жарамды кез келген жағдайда, мысалы Мысалы, бүтін сандар, жарамды мәні бар-жоғын немесе айнымалы мәнді нөлге теңестіру керектігін көрсету үшін қосымша өріс немесе индикатор қосу керек. Егер компилятор кейбір биттік үлгілердің жарамсыз мәндер емес екенін теорияда білсе, ол жарамсыз үлгілердің бірін бос мәнді көрсетіп, қосымша жадты пайдаланбауы мүмкін. Бірақ іс жүзінде бұл мүмкін емес, сондықтан әрдайым жадтың қосымша блогы қолданылады.

Нормативті құрылым (жүйе)


жауап 2:

Бұл толықтай бағдарламалау тілінің орындалуына байланысты. Аппараттық құралға және нақты компиляторларға байланысты бір тілді әртүрлі тәсілдермен жүзеге асыруға болады.

Алайда көптеген тілдерде айнымалы мән нақты деректер сақталатын орынды анықтайды. Егер айнымалының нөлге тең мәні болса, онда позиция анықталады. Егер ол нөл болса, онда орын мағынасыз, нөлдік немесе басқаша болады.


жауап 3:

Бұл толықтай бағдарламалау тілінің орындалуына байланысты. Аппараттық құралға және нақты компиляторларға байланысты бір тілді әртүрлі тәсілдермен жүзеге асыруға болады.

Алайда көптеген тілдерде айнымалы мән нақты деректер сақталатын орынды анықтайды. Егер айнымалының нөлге тең мәні болса, онда позиция анықталады. Егер ол нөл болса, онда орын мағынасыз, нөлдік немесе басқаша болады.


жауап 4:

Бұл толықтай бағдарламалау тілінің орындалуына байланысты. Аппараттық құралға және нақты компиляторларға байланысты бір тілді әртүрлі тәсілдермен жүзеге асыруға болады.

Алайда көптеген тілдерде айнымалы мән нақты деректер сақталатын орынды анықтайды. Егер айнымалының нөлге тең мәні болса, онда позиция анықталады. Егер ол нөл болса, онда орын мағынасыз, нөлдік немесе басқаша болады.


жауап 5:

Бұл толықтай бағдарламалау тілінің орындалуына байланысты. Аппараттық құралға және нақты компиляторларға байланысты бір тілді әртүрлі тәсілдермен жүзеге асыруға болады.

Алайда көптеген тілдерде айнымалы мән нақты деректер сақталатын орынды анықтайды. Егер айнымалының нөлге тең мәні болса, онда позиция анықталады. Егер ол нөл болса, онда орын мағынасыз, нөлдік немесе басқаша болады.