Рецоммендед, 2020

Избор Уредника

Разлика између & и &&

Оба "&" и "&&" су оператори који се користе за процену условних наредби. Оператор & је логичан као и битни оператор. Оператор && је чисто логички оператор. Основна разлика између оператора & и & је у томе што оператор & процењује обе стране израза, док оператор && процењује само леву страну израза да би добио коначни резултат. Дозволите нам да разумемо остале разлике између & и && уз помоћ табеле упоређивања.

Цомпарисон Цхарт

Основа за поређење&&&
ОператорТо је "битни оператер".То је "логички оператер".
ЕвалуацијаОн оцењује и леву и десну страну израза.Она само процењује леву страну израза.
Ради наРади на "Боолеан дататипе", као и на "битовима".Ради само на "Боолеан дататипе".
КористиКористи се за проверу логичког стања и такође се користи за маскирање одређених битова као што су паритетни битови.Користи се само за провјеру логичког стања.

Дефиниција & (Битвисе АНД)

Овај "&" оператор се користи као и, логички (&) оператор и битни оператор. Ради на боолеан и бинарним подацима. Када се & оператор користи као логички & оператор онда то резултира “труе” ако су обе стране израза процене тачне, иначе се враћа “фалсе”. Омогућава компајлеру да процени и страну израза. То јест, чак и ако лева страна израза даје лажно, она процењује десну страну израза.

Дозволите нам да ово схватимо са примером.

 инт а = 4, б = 5; систем.оут.принтлн ((== 6) & (б ++ == 6)); систем.оут.принтлн ("б =" + б); // оутпут фалсе б = 5 

Овде, при оцењивању леве стране израза (а == 6), добија се лаж, а затим оператер процењује десну страну израза (б ++ == 6) као резултат б вредности.

Када се '&' користи као 'битовски оператер', прво претвара оба операнда у бинарни облик и онда ради на њему помоћу & оператор, бит-би-бит. Након операције, добијени резултат је у бинарном облику, који се затим конвертује у децимални. Било који бит који је 0 у било којем од операнада резултира у 0. Ако су оба бита операнада 1, тада је резултантни бит 1. Битвисе & оператор се управља истом таблицом истине као и логички и оператор.

Погледајмо битну операцију & оператор.

 инт а; а = 3 и 4; // 011 & 100 = 000 систем.оут.принтлн ("а =" + а); // оутпут а = 0 

Овде, децимална вредност 3 и 4 се иницијално конвертују у њихов бинарни облик, а затим оператор & битвисе извршава & операцију на њима бит-по-бит. Добијени резултат је у бинарном облику, који се затим поново конвертује у децимални облик.

Дефиниција && (кратки спој И)

Овај && оператер ради потпуно као логичан оператор. Ради само на типу боолеан података. То се назива и оператор кратког споја. Пошто само проверава леву страну израза. Ако лева страна израза резултира лажним, онда се не мучи око процене десне стране израза.

Дозвољава нам да разумемо рад оператора && са примером.

 инт а = 4, б = 5; систем.оут.принтлн ((а == 6) && (б ++ == 6)); систем.оут.принтлн ("б =" + б); // оутпут фалсе б = 4 

Овде је услов (а == 6) лажан, и& оператор не процењује израз (б ++ == 6) као резултат, вредност б се не повећава.

Кључне разлике између & и &&

  1. Оператор & је логичан као и битовски оператер, јер ради на оба боолеан-а као и бинарни подаци, док је && оператор само логички оператер јер ради само на боолеан типу података.
  2. Оператор и оцењује и страну израза да би добио коначни резултат, док оператор && процењује само леву страну израза и ако испадне лажно, он не процењује ни десну страну израза.

Белешка:

Док оцењујемо боолеан тип података, оба оператора дају резултат “труе” само ако су оба операнда тачна, иначе се враћа “фалсе”.

Закључак:

Оператор & & &, оба се користе за процену боолеовог стања, док се оператор и користи за битну операцију. Када захтевамо да проценимо и страну израза, користи се и оператор и можемо користити && оператор.

Top