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

Dzielenie pisemne

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
1,586 wizyt
pytanie zadane 6 października 2016 w C i C++ przez nodo12221 Obywatel (1,100 p.)
Jak w C++ zrobić coś takiego, że program dzieli 2 zmienne np 10 i 3, ale nie wychodzi 3,3333333 itd. tylko 3 (3*3=9) Tak jakby reszta była ignorowana. Kolejny przykład 20/3=6 , resztę ignorujemy. Jak coś takiego zrobić? Jak macie pytania to piszcie.

5 odpowiedzi

0 głosów
odpowiedź 6 października 2016 przez niezalogowany

Hasło do google - zaokrąglanie c++

komentarz 6 października 2016 przez DragonCoder Nałogowiec (36,500 p.)
Albo po prostu int, zamist float albo double... Zrobi to samo pokaze liczbe calkowita
0 głosów
odpowiedź 6 października 2016 przez Patrycjerz Mędrzec (192,320 p.)
Typy literałów - słowo klucz.
0 głosów
odpowiedź 6 października 2016 przez plkpiotr Stary wyjadacz (12,420 p.)

Jeżeli będziesz działał na zmiennych-liczbach o typach stałoprzecinkowych takich jak short, int, long lub long long, to automatycznie reszta będzie pomijana, w odróżnieniu od reprezentacji zmiennoprzecinkowej, która jest zastosowana w typach float, double, czy long double.

0 głosów
odpowiedź 6 października 2016 przez Eryk Andrzejewski Mędrzec (164,260 p.)

Użyj rzutowania na typ całkowity. Zmienne a oraz b to dzielna i dzielnik.

#include <iostream>
int main()
{
    double a = 20;
    double b = 6;
    std::cout << static_cast<int>(a / b);
}

Gdy wykonujesz dzielenie na dwóch zmiennych typu int, lub literałach typu całkowitego, to rzutowanie nie jest konieczne. W przypadku gdy dzielisz liczby niecałkowite (jak na przykładzie) to musisz go wtedy użyć.

komentarz 6 października 2016 przez DragonCoder Nałogowiec (36,500 p.)
A co jezeli zrobie zmienna wynik typu int i w niej bedzie wynik? czyli

 

wynik=a/b;

gdzie a i b to float lub double
1
komentarz 6 października 2016 przez Eryk Andrzejewski Mędrzec (164,260 p.)
Wtedy nie trzeba ręcznie rzutować, zrobi się to automatycznie :)
komentarz 6 października 2016 przez DragonCoder Nałogowiec (36,500 p.)
Czyli najprosciej jest zrobic tak, ale czy jest to odpowiednie z nowym standardem?
komentarz 6 października 2016 przez criss Mędrzec (172,590 p.)
?? Po prostu wynik dzielenia zostanie zrzutowane na inta. Żadna nowość.
–1 głos
odpowiedź 6 października 2016 przez Qbon Nowicjusz (240 p.)
Cześć, po prostu musisz użyć przynajmniej jednej zmiennej typu float lub double w tym działaniu, ponieważ są to zmienne zmiennoprzecinkowe, które zapisują też rozszerzenie dziesiętne.

Pozdrawiam.

Podobne pytania

0 głosów
1 odpowiedź 514 wizyt
pytanie zadane 14 sierpnia 2018 w C# przez KacperStachula Nowicjusz (190 p.)
0 głosów
1 odpowiedź 300 wizyt
pytanie zadane 9 września 2016 w PHP przez Dariusz Piechota Użytkownik (730 p.)
0 głosów
2 odpowiedzi 1,025 wizyt
pytanie zadane 3 lutego 2020 w C i C++ przez minemoney123 Nowicjusz (140 p.)

93,112 zapytań

142,092 odpowiedzi

321,636 komentarzy

62,453 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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...