Dotazy začátečníka 2

Odpovědět
DavidO
Příspěvky: 551
Registrován: 01 kvě 2013, 21:27

Re: Dotazy začátečníka 2

Příspěvek od DavidO » 03 lis 2018, 23:38

Zdá se mi, že to nebude jak chceš. Když w6 bude 149, tak na řádku 19 se do w2 uloží 65528. Výraz 149-150*8 se totiž vyhodnotí postupně takhle:
1. 149-150=65535 (protože binárně 0000 0000 1001 0101 - 0000 0000 1001 0110 = 1111 1111 1111 1111 což je těch 65535, neboli šestnáctkově FFFF)
2. 65535*8=65528 (protože binárně 1111 1111 1111 1111 * 0000 0000 0000 1000 = 1111 1111 1111 1000 což je těch 65528, neboli šestnáctkově FFF8)

Prostě vzpomeň si na svá osmibitová léta a počítej jen v tom omezeném rozsahu. Přetečení nahoru ani podtečení pod nulu nevadí, prostě se ty čísla oříznou zase na těch několik málo bitů. Říkej si - já jsem procesor, záporná čísla neznám, to si prý "uživatelé" někde venku vymysleli, že se rozsah bajtu (nebo slova) dá využít na způlky na kladná a způlky na záporná čísla a nějak si to zobrazujou divnejma symbolama, já znám jen nuly a jedničky.

Znovu se přeptám: Kolik chceš, aby vyšlo w2, když w6 bude 149? Kolik chceš, aby ti vyšlo w2, když W6 bude 80?

icalan
Příspěvky: 4
Registrován: 29 říj 2018, 11:39

Re: Dotazy začátečníka 2

Příspěvek od icalan » 05 lis 2018, 04:43

Já to počítám matematicky, pri w6= 80 w2=560, pri w6=149 w2=8
zápis by tedy měl být w2 = 150-w6*8 místo původního matematicky w2=w6-150*(-8) ?

DavidO
Příspěvky: 551
Registrován: 01 kvě 2013, 21:27

Re: Dotazy začátečníka 2

Příspěvek od DavidO » 05 lis 2018, 10:06

Ano. Pokud to má být lineární přepočet, tak ta přímka má podle těch dvou bodů rovnici y = -8x + 1200 což se dá napsat i jako y = (150-x) * 8 neboli y = (x-150) * -8.

Píšu to tedy se závorkami, jak se výrazy v matematice píšou; jak se to zapíše pro Picaxe je jiná věc a Picaxe pokládám v tomhle směru za špatný nebo přinejmenším velmi škodlivý - výraz se tam počítá striktně zleva doprava a nesmějí se použít závorky. To buď musel vymyslet magor, nebo to udělal lenoch a manažer to pak prohlásil za fíčuru.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host