• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed operandy w c++ ,c++ szkoła programowania IV

Object Storage Arubacloud
0 głosów
2,195 wizyt
pytanie zadane 4 maja 2017 w C i C++ przez Jakub 0 Pasjonat (23,120 p.)
zamknięte 4 maja 2017 przez Jakub 0

Hej ,dziś mam bardzo krótkie pytanie do którego odpowiedzi nie znalazłem w internecie . Mianowicie czym są w c++ operandy wyższego porządku a czym niższego porządku ? (książka jak w temacie str 114) . ogólnie wiem czym są operandy :) . Dziękuje serdecznie za pomoc , pozdrawiam laugh

komentarz zamknięcia: już znam odpowiedź

1 odpowiedź

+1 głos
odpowiedź 4 maja 2017 przez QizmoPL Stary wyjadacz (11,440 p.)
wybrane 4 maja 2017 przez Jakub 0
 
Najlepsza

Operand – w matematyce argument operatora, tj. funkcji danej przestrzeni w siebie (tzw. endomorfizm). Przykładowo dla działaniadodawania {\displaystyle +,}+, będącego operatorem w ustalonym ciele (np. liczb rzeczywistych) postaci

{\displaystyle 3+6=9}3 + 6 = 9

operandami są liczby {\displaystyle 3}3 oraz {\displaystyle 6.}6.

Operand – w cybernetyce zbiór obiektów (osób, przedmiotów, procesów), na których wykonywane jest pewne działanie. Wynikiem przekształcenia operandu jest transformata; zbiór operandów jest zamknięty względem danej transformacji, gdy w zbiorze transformat nie występują elementy spoza zbioru operandów.

https://pl.wikipedia.org/wiki/Operator_(programowanie)#Pierwsze.C5.84stwo.2C_priorytet

komentarz 4 maja 2017 przez Jakub 0 Pasjonat (23,120 p.)
dzięki , miałem już zamknąć pytanie bo zrozumiałem temat . ale dzięki za odpowiedź
komentarz 4 maja 2017 przez Jakub 0 Pasjonat (23,120 p.)

co prawda już zamknąłem pytanie ale nie wiem jak zrozumieć to zdanie z książki o algorytmie konwersji w c++ 11 :

W przeciwnym razie jeden operand jest typu ze znakiem, a drugi bez znaku . Jeśli operand bez znaku jest typu wyższego porządku niż operand ze znakiem , ten ostatni jest konwertowany na typ ze znakiem.

wiem że pewnie źle to rozumiem ale czy według tego zdania kompilator może tak sam od siebie po prostu usunąć znak ? Przecież np -5+10 da inny wynik niż 5+10 . Wiem że tu chodzi pewnie o coś innego ale słabo rozumiem temat

1
komentarz 4 maja 2017 przez QizmoPL Stary wyjadacz (11,440 p.)

Wiele operatorów binarnych (omówionych w wyrażenia z operatorami Dwuargumentowymi) powoduje konwersje operandów i daje wyniki w taki sam sposób. Sposób, w jaki te operatory powodują konwersje jest nazywany "typowe konwersje arytmetyczne". Konwersje arytmetyczne operandów o różnych typach natywnych są wykonywane jak pokazano w poniższej tabeli. Typy TypeDef zachowują się zgodnie z ich podstawowymi typami natywnymi.

Warunki dotyczące konwersji typów

Warunki są spełnione Konwersja
Jeden z operandów jest typu long double. Drugi operand jest konwertowany na typ long double.
Poprzedni warunek nie jest spełniony i jeden z operandów jest typu double. Drugi operand jest konwertowany na typ double.
Poprzedni warunki nie są spełnione i jeden z operandów jest typu float. Drugi operand jest konwertowany na typ float.
Powyższe warunki nie zostały spełnione (żaden z operandów nie jest typu zmiennoprzecinkowego). Promocje typów całkowitych są wykonywane na operandach w następujący sposób:

- Jeśli jeden z operandów jest typu unsigned long, drugi operand jest konwertowany na typ unsigned long.
- Jeśli powyższy warunek nie zostały spełnione i jeden z operandów jest typu long i innych typu unsigned int, oba operandy są konwertowane na typ unsigned long.
- Jeśli dwa powyższe warunki nie są spełnione i jeden z operandów jest typu long, drugi operand jest konwertowany na typ long.
- Jeśli trzy powyższe warunki nie są spełnione i jeden z operandów jest typu unsigned int, drugi operand jest konwertowany na typ unsigned int.
- Jeśli żadne z powyższych warunków nie zostaną osiągnięte, oba operandy są konwertowane na typ int.

Poniższy kod ilustruje reguły konwersji opisane w tabeli:

  
double dVal;  
float fVal;  
int iVal;  
unsigned long ulVal;  
  
int main() {  
   // iVal converted to unsigned long  
   // result of multiplication converted to double  
   dVal = iVal * ulVal;  
  
   // ulVal converted to float  
   // result of addition converted to double  
   dVal = ulVal + fVal;  
}  

Pierwsza instrukcja w powyższym przykładzie pokazuje mnożenie dwóch typów całkowitych iVal i ulVal. Spełniony jest warunek, że żaden z operandów jest typu zmiennoprzecinkowego i jeden argument jest typu unsigned int. Z tego powodu, drugi operand iVal, jest konwertowany na typ unsigned int. Wynik jest przypisany do dVal. Spełniony jest warunek, że jeden z operandów jest typu doublei dlatego unsigned int wynik mnożenia jest konwertowany na typ double.

Druga instrukcja w powyższym przykładzie pokazuje Dodawanie float i typu całkowitego fVal i ulVal.ulVal Zmiennej jest konwertowany na typ float (trzeci warunek określony w tabeli). Wynik dodawania jest konwertowany na typ double (drugi warunek określony w tabeli) i przypisane do dVal.

https://msdn.microsoft.com/pl-pl/library/aetzh118.aspx

komentarz 4 maja 2017 przez Jakub 0 Pasjonat (23,120 p.)
dzięki

Podobne pytania

0 głosów
2 odpowiedzi 499 wizyt
pytanie zadane 2 września 2018 w C i C++ przez vog Początkujący (370 p.)
0 głosów
2 odpowiedzi 644 wizyt
0 głosów
1 odpowiedź 321 wizyt
pytanie zadane 3 września 2017 w C i C++ przez Sic Dyskutant (8,510 p.)

92,555 zapytań

141,403 odpowiedzi

319,557 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...