• 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

VPS Starter Arubacloud
0 głosów
2,187 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 498 wizyt
pytanie zadane 2 września 2018 w C i C++ przez vog Początkujący (370 p.)
0 głosów
2 odpowiedzi 642 wizyt
0 głosów
1 odpowiedź 317 wizyt
pytanie zadane 3 września 2017 w C i C++ przez Sic Dyskutant (8,510 p.)

92,452 zapytań

141,262 odpowiedzi

319,085 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...