Diskuze: Dělení celých čísel v Javě
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 14 zpráv z 14.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Java (a nejen Java) totiž při konverzi z doublu na int zahodí desetinná místa, zatímco floor zaokrouhlí na největší celé číslo, které je menší než to původní.
Co jsem koukal, tak i Python, ale nelíbí se mi, že musím předávět celá čísla na double, aby to počítalo "dobře".
Musí na to být nějaký vzorec, co používá celá čísla.
To je nedostatek již zastaralého 2.7, v dalších verzích je to opraveno. Jentak pro info, aktuálně nejnovější je verze 3.6, ve které se objevují veškeré novinky. Python 2.7 má jednu aktualizaci zhruba za půl roku a vývoj od roku 2014 téměř stojí, až na nějaké bezpečností aktualizace. Pokud nepotřebuješ, aby SW jel na nějaké zastaralé mašině nebo používal archaické knihovny, přejdi na 3
Jsi si jistý? Já to zkoušel na python.org a chová se to stejně jako v
3.4. A řeším hlavně, jak to je v Javě 
Ano, jsem
V Javě i spustě jiných jazycích to samozřejmě s intem nefunguje, jak už
bylo řečeno, ale já opravoval tvé nesprávné tvrzení o počítání v
Pythonu.
Jenže ty opravuješ tvrzení, co tu nikdo neřekl a příklad, který nepotřebuje.
Řeším to, když se to desetinné číslo převede na integer. Tak vyjde 0 a ne -1. Kód na vyzkoušení:
int(-60/100)
Napsal
Co jsem koukal, tak i Python, ale nelíbí se mi, že musím předávět celá čísla na double, aby to počítalo "dobře".
Jenže Python počítá "dobře" i bez převodu celých čísel na double. A ten komentář vyzněl tak, že by klidně použil Python, jenže se mylně domnívá, že to v Pythonu nefunguje.
Fakt, že napsání int(0.6) usekne část za tečkou jsi už zmínil.
Úplně mi vypadlo, že v Pythonu funguje
-60//100
avšak v Javě nic takového není.
Pokud chceš offset jenom za pomocí int a všechno mezi -100 až -1 má vracet -1, -200 až -101 má vracet -2 atd. tak by mohlo posloužit:
(x - (x >>> 31) * 99) / 100 // (x >>> 31) vrátí 1 pokud je x záporné, pokud je kladné tak to vrátí 0
Ve skutečnosti to mám jako 160, ale chápu princip výpočtu a funguje to,
díky 
Zobrazeno 14 zpráv z 14.
