Dělení integerů   zodpovězená otázka

VB.NET

Zdravím,

snažím se ve visual basicu napsat program, který mi bude binárně kódovat text. Problém nastal ve chvíli, kdy sem dělil trojku dvěma. 3/2 = 2 proc? Kdyz 5/2 = 2 zbytek 1?

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Stačí si přečíst popis aritmetických operátorů ve VB.Net a jasné proč to tak je...

nahlásit spamnahlásit spam -2 / 2 odpovědětodpovědět

Zřejmě sem retardovaný, ale nemůžu to najít. Btw já to už mám ošetřený, pouze mě zajímá proč, je to někde v mantise? Nebo je problém v nepřesnosti doublu?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Vložte sem kód s definicí proměnných a samotnou početní operací..

nahlásit spamnahlásit spam 0 odpovědětodpovědět

VB.NET dělí vždy desetinně, tj. tři děleno dvěmi je jedna a půl.

Pokud to přiřadíte do integeru, tak to prostě zaokrouhlí.

Potíž je v tom, že defaultně používá jinou metodu zaokrouhlování a ne tu u nás nejpoužívanější. To znamená, že pokud jste přesně v polovině intervalu, zaokrouhluje ne vždy nahoru, ale k sudé číslici. Tj. 2,5 zaokrouhluje dolů (ke dvojce) a 1,5 nahoru (taky ke dvojce).

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

Děkuju za odpověď

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

To je rada na hovno - pokud chcete radit takhle, tak neraďte vůbec.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback