..
Шта је нумеричку промоција? Ово је веома чест рад у програму и одговара имплицитно конверзију операнди (на пример, адденд) повезане са нумеричким оператера (нпр. "+" указује да поред).
Ова конверзија је неопходна кад год операнди не поклапају тачно тип података који се очекује за операцију. У неким случајевима, конверзија мора да буде експлицитна (на пример, користећи баци ) и стога одговорност програмера.
У другим случајевима, посебно у случају више напредних програмских језика и дистрибуиран (у даљем тексту ћемо упутити посебно Јава језику), конверзија се врши аутоматски, тако да имплицитно. У овом случају могуће је говорити о нумеричким промоције.
Можемо разликовати два основна типа нумеричке промоције: Унари нумерички промоцију и бинарни нумерички промоције, који се разликују значајно у природи аритметике умешаним у те операције (унари или бинарни). Погледајмо обе ланца, водећи рачуна да се обезбеде неке кратке примјере Јава кода.
Погледајмо пример:
бајт б = 2;
инт [] = нев инт [б];
Карактер Ц = '\ у0001';
на [ц] = 1;
[0] = ц;
У овом случају, иако врло једноставна, можемо идентификовати три примера Унари нумеричке промоције. Први је образовање инт [] = нев инт [б]. Величина "чињеница низ би требало да представља цео број (инт променљиве), док је б променљиву типа бајт.
Након тога, хајде да размисле о образовању [Ц] =- 1. У овом случају то је прошло као индекс "низова, још једном, не параметар типа цео број, већ (у овом случају) врсту карактера. Слично томе, следећи исказ [0] =- Ц 0 даје позицију "низа у вредности типа инт, а не карактера.
Прво смо приметити да је у вези са конверзијом у 'оператор додељивања ("="), стога унари оператер, који је повезан са само једним операнда. Ево зашто можемо говорити о Унари нумеричке промоције. Како компајлер ручке конверзије имплицитно у вези са корацима?
У сва три случаја, конверзија може бити декомпонована у две основне кораке. Први је тип конверзије Унбокинг, односно податке (у овом случају типа бајт или слова) се претвара у одговарајући примитивни тип података (цхар бајт, респективно).
У овом тренутку можемо наставити са другом фазом конверзије у сва три случаја у разматрању је шири примитивни конверзије. Укратко, нема губитка података и заиста, нови тип података изаберете (инт) је прекобројан у поређењу да би сачувао информације (садржане у променљивој Б или Ц типа бајт, карактер типа). Из тог разлога компајлер може да изврши конверзију себе.
Истичемо као једини прави конверзије које се може имплицитно врши у контексту нумеричке промоције су они поменути. Ту је у ствари и могућност идентитета тип конверзије, али одржава типа података променљиве у питању и зато је од интереса, углавном теоријске.
| |
Линук (курс)
Комплетан водич за опен-соурце систем. Од 49 €. |
| |
ПХП (курс)
Цео курс за креирање динамичких веб сајтова. Од 49 €. |
| |
Руби и Руби он Раилс (курс)
Израду софтвера и веб апликација са рубином и РОР. Од 39 €. |