Anonymní profil Luboš – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Luboš – Programujte.comAnonymní profil Luboš – Programujte.com

 

Příspěvky odeslané z IP adresy 86.49.74.–

Luboš
Visual Basic › jak stáhnout obrázek z netu
30. 1. 2022   #389807

Ahoj.
Jak lze ve VB6 co nejjednodušeji stáhnout obrázek z netu na disk ?

Luboš
Visual Basic › matematický problém
31. 12. 2021   #389469


#3 remmidemmi

Pro jistotu jsem si svoje řešení vyzkoušel. Kdysi dávno jsem si složitější algoritmy otestoval nejdřív ve VB6 a pak je následně přepsal do assembleru.
Takže takto vypadá kód ve VB6.

Option Explicit

Private Sub Command1_Click()
Dim a As Byte
Dim x As Long
Dim z As Long
Dim c As Long
Dim i As Byte
Dim BCD(10) As Byte

z = 2147483647  ' toto číslo převedeme do BCD (max. kladné číslo typu Long)

Print "vstupní číslo = "; z

Do
    a = 0
    c = 0
    For x = 30 To 0 Step -1
        a = a + a
        c = c + c
        If (z And (2 ^ x)) > 0 Then 'test x-tého bitu
            a = a + 1
        End If
        If a > 9 Then
            c = c + 1
            a = a - 10
        End If
    Next x
    BCD(i) = a
    i = i + 1
    z = c
Loop While c > 9

If c > 0 Then   ' nulu na začátku není potřeba zapsat
    BCD(i) = c
Else
    i = i - 1
End If

Print "vysledek = ";

For c = i To 0 Step -1
    Print BCD(c);
Next c
Print

End Sub

V assembleru bych neměl problém celý kód přepsat tak, aby všechny proměnné byly typu byte, tedy v podstatě si vystačím s 8-bitovou aritmetikou

Pro remmidemmi: jak jsi to vyřešil ty ? 

Luboš
Visual Basic › matematický problém
24. 12. 2021   #389340

Ahoj
Dnes nechci radu, spíš to bude vánoční soutěžní úkol :-)
Vyzkoušejte si jak fungují reálná čísla v počítači.
Zvolíme datový typ Double.

Dim a As Double
Dim b As Double
Dim c As Double

Do proměnné a uložíme hodnotu 0,1
a = 0.1

Proměnná b bude obsahovat tento jednořádkový výpočet
b = (a * a) / a

Proměnná c bude obsahovat stejný, ale dvouřádkový výpočet
c = a * a
c = c / a

Nyní si necháme zobrazit oba výsledky
Print b, c

No sláva, objeví se   0,1 a 0,1

Ale pozor, zkusíme odečíst b od c - výsledek by měl být nula, ale ...
Print b - c

Rozdíl je -1,38777878078145E-17

Tak co, dámy a pánové, kde je problém ?

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý