[Java] uitleg gevraagt over numeric operaters

Pagina: 1
Acties:
  • 368 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

  • knackje
  • Registratie: Oktober 2003
  • Laatst online: 11:19
Ik ben bezig met Java en nu wordt er in het boek iets uitgelegd over numeric operaters. Ik snap er alleen niks van hoop dat iemand mij ff op weg kan helpen.

Als eerste deze zin, wat bedoelen ze hiermee te zeggen:

The arithmetic operators for numeric data types include additions (+), subtration (-), multiplication (*), division (/), modules (%)

Dan krijg je een aantal voorbeelden, waar ik al helemaal niks van snap:

int i1 = 34+1; i1 becomes 35 ( deze lijkt me erg logisch)

int i3 = 1/2; i3 becomes 0 --> note that the result is the integer part of the division

byte i4 = 20 % 3; i4 becomes 2

Bij die laaste kan ik nog iest indenken. Byte is maximaal 8. Dus 2 x 8 is 16. Kan geen volledige byte meer in 20 dus 2. Maar waarom dat procent teken er dan staat. heb geen idee?

Hopelijk kan iemand mij hier wat duidelijkheid over verschaffen

Bedankt

knackje

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Nu online
+ is optellen, - is aftrekken, * is vermenigvuldigen, / is delen, % is restdeling.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • riezebosch
  • Registratie: Oktober 2001
  • Laatst online: 03-06 09:24
int i1 = 34+1; i1 becomes 35 ( deze lijkt me erg logisch)

int i3 = 1/2; i3 becomes 0 --> note that the result is the integer part of the division

byte i4 = 20 % 3; i4 becomes 2
In een int kunnen alleen gehele getallen, en alles achter de komma wordt gewoon genegeerd. 1/2 is 0.5, en als je dat in een integer stopt wordt het dus 0.

% is de restwaarde van een deling. 20 % 3 is dus wat er overblijft als je 20 / 3 doet:

20 / 3 = 6 -> 6 *3 = 18 -> 20 - 18 = 2 -> 20 % 3 = 2.

[ Voor 6% gewijzigd door riezebosch op 10-02-2004 15:53 ]

Canon EOS 400D + 18-55mm F3.5-5.6 + 50mm F1.8 II + 24-105 F4L + 430EX Speedlite + Crumpler Pretty Boy Back Pack


Acties:
  • 0 Henk 'm!

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Ik denk dat er wel iets over vermeld staat in 'Thinking in Java' van Bruce Eckel. Dit boek kan je gratis van het internet plukken (ff google gebruiken).

Acties:
  • 0 Henk 'm!

  • knackje
  • Registratie: Oktober 2003
  • Laatst online: 11:19
Aha nu snap ik hoe ze dat bereken

Maar dan nog ff je hebt byte, short, int, long, floast, double

De verschillen zijn de maximale opslag.

In mijn boek zeggen ze bijv. dat een int 32 bits kan zijn. Maar ze berekenen dan door 2 tot macht 31.

Waarom is dat dan?

knackje

[ Voor 64% gewijzigd door knackje op 10-02-2004 15:57 ]


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Nu online
Aangezien een bit 2 verschillende waarden heeft (0 of 1), en er 32 bits zijn. Op die manier berekenen ze welk max. getal er in kan.
Als het signed is, moet je het wel door 2 delen (aangezien het dan van -n tot +n gaat).

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • knackje
  • Registratie: Oktober 2003
  • Laatst online: 11:19
Ok bedankt voor de info kan ik weer verder met mijn boek

groeten

knackje

Acties:
  • 0 Henk 'm!

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 17-06 20:07

Robtimus

me Robtimus no like you

knackje schreef op 10 februari 2004 @ 15:44:
Bij die laaste kan ik nog iest indenken. Byte is maximaal 8. Dus 2 x 8 is 16. Kan geen volledige byte meer in 20 dus 2. Maar waarom dat procent teken er dan staat. heb geen idee?
Een byte is maximaal 8 ja. 8 bits. Dus 2^8 = 256 mogelijkheden. De byte loopt dan ook van -128 tot 127.

More than meets the eye
There is no I in TEAM... but there is ME
system specs

Pagina: 1