eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › Kalkulator z dużymi liczbami
Ilość wypowiedzi w tym wątku: 38

  • 11. Data: 2015-09-01 18:17:48
    Temat: Re: Kalkulator z dużymi liczbami
    Od: bartekltg <b...@g...com>

    On 01.09.2015 18:04, szemrany wrote:
    > On Tue, 01 Sep 2015 17:45:04 +0200, bartekltg wrote:
    >
    >>> ...jak w Pythonie zrobić negację bitów?! Ha! :-)
    >
    >> Ale... skoro pythonowy int ma potencjalnie nieskończenie
    >> wiele bitów, to ile jedynek jest w dopełnieniu liczby 7? ;-)
    >
    > O tym, że jest nieskończenie wiele bitów dowiedziałem się od Ciebie :-)
    > Skoro tak to brak negacji wprost jest logiczny.

    ;-)


    >> Python zapisze to jako -7 i w operacjach bitowych
    >
    > btw. dlaczego ~7 = -8?

    Pewnie stąd:
    https://pl.wikipedia.org/wiki/Kod_uzupe%C5%82nie%C5%
    84_do_dw%C3%B3ch

    >
    >> będzie udawał, zę jest tam na początku nieskończenie wiele jedynek.
    >> W niektórych operacjach to nie problem (jak np x & ~(x-1) z wątku obok)
    >> a czasem trzeba będzie mu wprost powiedzieć, że interesują mnie tylko
    >> np 64 bity przez przemnożęnie przez maskę.
    >>
    >> >>> x=7
    >> >>> y=(2**64-1)&(~x)
    >> >>> bin(y)
    >> '0b1111111111111111111111111111111111111111111111111
    111111111111000'
    >
    > uhm... dzięki za wyjaśnienia.

    Możesz szukać dalej. Gdzieś widziałem negacje zrobioną w taki
    sposób, że brała liczbę i ilość bitów reprezentacji,
    np neg(x, 32).
    Możę gdzieś coś takeigo jest ukryte (a jak nie, pewnie warto
    dopisać dla wygody).

    pzdr
    bartekltg





  • 12. Data: 2015-09-01 19:31:05
    Temat: Re: Kalkulator z dużymi liczbami
    Od: "AK" <n...@n...com>

    Użytkownik "szemrany" <s...@o...off> napisał:

    > ...jak w Pythonie zrobić negację bitów?! Ha! :-)

    Normalnie: ~x

    PS: Podaj zrodla twych prob na peirwszy ustawiony bit bo dalbym sobie brzuch uciac,
    ze metoda szukania polowkowego da lepszy wynik niz zapodales (choc i tak nie
    jest zly).

    AK


    ---
    Ta wiadomość została sprawdzona na obecność wirusów przez oprogramowanie antywirusowe
    Avast.
    https://www.avast.com/antivirus


  • 13. Data: 2015-09-01 19:40:27
    Temat: Re: Kalkulator z dużymi liczbami
    Od: "AK" <n...@n...com>

    Użytkownik "bartekltg" <b...@g...com> napisał:

    >> O tym, że jest nieskończenie wiele bitów dowiedziałem się od Ciebie :-)
    >> Skoro tak to brak negacji wprost jest logiczny.
    >
    > ;-)

    Ale "osochodzi"?
    Pythono ma negacje: ~ Dziala to jako zwyczajne dopelnienie do 2.
    Oczywiscie masz racje ze trzeba o pamietac o "nieskonczonej ilosci jedynek"
    i "maskowac" jelsli ilosc bitow w konkretnej sytuacji ma znaczenie (raczej rzadkie
    przypoadki).

    AK


    ---
    Ta wiadomość została sprawdzona na obecność wirusów przez oprogramowanie antywirusowe
    Avast.
    https://www.avast.com/antivirus


  • 14. Data: 2015-09-01 19:47:15
    Temat: Re: Kalkulator z dużymi liczbami
    Od: szemrany <s...@o...off>

    On Tue, 1 Sep 2015 19:31:05 +0200, AK wrote:

    >> ...jak w Pythonie zrobić negację bitów?! Ha! :-)
    >
    > Normalnie: ~x

    >>> x = 7
    >>> ~x
    -8

    Bartek pisał o nieskończoności integera, poza tym liczby ujemne są
    reprezentowane przez kod U2, więc jak rozumiem to co powyżej wkleiłem mam
    rozumieć tak:
    7 = 0b111
    ~7 = 0b(1)1000 - gdzie (1) oznacza nieskończoność jedynek "z przodu" liczby
    zatem konsola pythonowa obcina te wiodące jedynki i ogranicza się do
    pokazania znaku minus oraz liczby 0b1000 czyli 8, stąd -8

    dobrze kombinuję?

    Jeśli tak jest to imho kiepskie to jest, fajnie byłoby, gdyby python
    wyrównywał podaną wartość do najbliższej pełnej reprezentacji bajtowej, w
    tym wypadku do jednego bajta i tak też dokonywał operacji negacji, czyli w
    wyniku ~0b111 chciałbym mieć 0b11111000 - ale chcieć to ja sobie mogę ;-)


    > PS: Podaj zrodla twych prob na peirwszy ustawiony bit bo dalbym sobie brzuch uciac,
    > ze metoda szukania polowkowego da lepszy wynik niz zapodales (choc i tak nie
    jest zly).

    Chcesz źródła w pascalu?

    --
    howgh
    szemrany
    "Trzeba z żywymi naprzód iść, po życie sięgać nowe,
    a nie w uwiędłych laurów liść z uporem stroić głowę"


  • 15. Data: 2015-09-01 20:02:47
    Temat: Re: Kalkulator z dużymi liczbami
    Od: bartekltg <b...@g...com>

    On 01.09.2015 19:40, AK wrote:
    > Użytkownik "bartekltg" <b...@g...com> napisał:
    >
    >>> O tym, że jest nieskończenie wiele bitów dowiedziałem się od Ciebie :-)
    >>> Skoro tak to brak negacji wprost jest logiczny.
    >>
    >> ;-)
    >
    > Ale "osochodzi"?
    > Pythono ma negacje:

    No ma. Ale działa ona zaskakująco dla kogoś, kto głownie siedzi
    w intach i longach.
    ~7 to -8.

    > ~ Dziala to jako zwyczajne dopelnienie do 2.

    No nie do końca. Negując 7 spodziewamy sie czegoś w rodzaju
    111....111000b
    (co swoją drogą jest równe -8 jeśli liczba jest ze znakirm:)

    > Oczywiscie masz racje ze trzeba o pamietac o "nieskonczonej ilosci jedynek"
    > i "maskowac" jelsli ilosc bitow w konkretnej sytuacji ma znaczenie
    > (raczej rzadkie przypoadki).

    No i te dwa posty były zwróceniem an to uwagi.
    o to chodzi;-)

    pzdr
    bartekltg



  • 16. Data: 2015-09-01 20:04:56
    Temat: Re: Kalkulator z dużymi liczbami
    Od: bartekltg <b...@g...com>

    On 01.09.2015 19:47, szemrany wrote:
    > On Tue, 1 Sep 2015 19:31:05 +0200, AK wrote:
    >
    >>> ...jak w Pythonie zrobić negację bitów?! Ha! :-)
    >>
    >> Normalnie: ~x
    >
    >>>> x = 7
    >>>> ~x
    > -8
    >
    > Bartek pisał o nieskończoności integera, poza tym liczby ujemne są
    > reprezentowane przez kod U2, więc jak rozumiem to co powyżej wkleiłem mam
    > rozumieć tak:
    > 7 = 0b111
    > ~7 = 0b(1)1000 - gdzie (1) oznacza nieskończoność jedynek "z przodu" liczby
    > zatem konsola pythonowa obcina te wiodące jedynki i ogranicza się do
    > pokazania znaku minus oraz liczby 0b1000 czyli 8, stąd -8
    >
    > dobrze kombinuję?
    >
    > Jeśli tak jest to imho kiepskie to jest, fajnie byłoby, gdyby python
    > wyrównywał podaną wartość do najbliższej pełnej reprezentacji bajtowej, w
    > tym wypadku do jednego bajta i tak też dokonywał operacji negacji, czyli w

    To by był koszmar. Nagecja 255 daje 0, a negacja 256
    1111111011111111b

    pzdr
    bartekltg

    >


  • 17. Data: 2015-09-01 21:19:33
    Temat: Re: Kalkulator z dużymi liczbami
    Od: "AK" <n...@n...com>


    Użytkownik "szemrany" <s...@o...off> napisał:

    > ~7 = 0b(1)1000 - gdzie (1) oznacza nieskończoność jedynek "z przodu" liczby
    > zatem konsola pythonowa obcina te wiodące jedynki i ogranicza się do
    > pokazania znaku minus oraz liczby 0b1000 czyli 8, stąd -8
    >
    > dobrze kombinuję?

    No nie calkliem. Po prostu to jest int ze znakiem (w U2) wiec python to tak pokazuje.
    Po prostu w pythonie nie ma liczb typu unsigned.

    > Jeśli tak jest to imho kiepskie to jest, fajnie byłoby, gdyby python
    > wyrównywał podaną wartość do najbliższej pełnej reprezentacji bajtowej, w
    > tym wypadku do jednego bajta i tak też dokonywał operacji negacji, czyli w
    > wyniku ~0b111 chciałbym mieć 0b11111000 - ale chcieć to ja sobie mogę ;-)

    Wystarczy zamaskowac z 0b11111111

    > Chcesz źródła w pascalu?

    Tak. Ostatecznie w miare duzo w nim pisalem (choc wieki temu:).

    AK


    ---
    Ta wiadomość została sprawdzona na obecność wirusów przez oprogramowanie antywirusowe
    Avast.
    https://www.avast.com/antivirus


  • 18. Data: 2015-09-01 21:24:46
    Temat: Re: Kalkulator z dużymi liczbami
    Od: "AK" <n...@n...com>

    Użytkownik "bartekltg" <b...@g...com> napisał:

    >> ~ Dziala to jako zwyczajne dopelnienie do 2.
    >
    > No nie do końca. Negując 7 spodziewamy sie czegoś w rodzaju
    > 111....111000b
    > (co swoją drogą jest równe -8 jeśli liczba jest ze znakirm:)

    No i masz odpowiedz. Po prostu Python nie ma typow unsigned.
    Pokazuje wiec jako zwyczajny signed int

    AK


    ---
    Ta wiadomość została sprawdzona na obecność wirusów przez oprogramowanie antywirusowe
    Avast.
    https://www.avast.com/antivirus


  • 19. Data: 2015-09-01 21:40:38
    Temat: Re: Kalkulator z dużymi liczbami
    Od: bartekltg <b...@g...com>

    On 01.09.2015 21:24, AK wrote:
    > Użytkownik "bartekltg" <b...@g...com> napisał:
    >
    >>> ~ Dziala to jako zwyczajne dopelnienie do 2.
    >>
    >> No nie do końca. Negując 7 spodziewamy sie czegoś w rodzaju
    >> 111....111000b
    >> (co swoją drogą jest równe -8 jeśli liczba jest ze znakirm:)
    >
    > No i masz odpowiedz. Po prostu Python nie ma typow unsigned.
    > Pokazuje wiec jako zwyczajny signed int

    To jest zła odpowiedź. ;>

    pzdr
    bartekltg



  • 20. Data: 2015-09-01 22:15:47
    Temat: Re: Kalkulator z dużymi liczbami
    Od: szemrany <s...@o...off>

    On Tue, 01 Sep 2015 20:04:56 +0200, bartekltg wrote:

    >> Jeśli tak jest to imho kiepskie to jest, fajnie byłoby, gdyby python
    >> wyrównywał podaną wartość do najbliższej pełnej reprezentacji bajtowej, w
    >> tym wypadku do jednego bajta i tak też dokonywał operacji negacji, czyli w
    >
    > To by był koszmar. Nagecja 255 daje 0, a negacja 256
    > 1111111011111111b

    No i tak dokładnie powinno być, czemu koszmar? Kalkulator windows tak to
    właśnie przedstawia. Imho logiczne.

    --
    howgh
    szemrany
    "Trzeba z żywymi naprzód iść, po życie sięgać nowe,
    a nie w uwiędłych laurów liść z uporem stroić głowę"

strony : 1 . [ 2 ] . 3 . 4


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: