logo
 Pokrewne renessmeKodowanie kluczyka BMW E36koncert U2 w IrlandiiKoncert U2 w Chorzowiekoncerty U2kodowanie NetHostingkodowanie HTMLkorektorskie ZnakiKoh-i-Noor KREDKIKody do Counter Strike SourceKomis Lipko
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • missremindme.htw.pl
  • renessme



    najprościej. Dzielenie w U2 co prawda jest możliwe, ale
    dość kłopotliwe.


    ja bym Cię jednak pociągnął za język, mógłbyś mi powiedzieć
    jak to się robi własnie w U2 bez zamiany...
    przynajmniej zarysować metodę postępowania... ;o)


    Problem będzie z resztą, o ile chcemy mieć ujemne reszty.


    a to dopiero ciekawe, a jak koduje się resztę w U2?
    tak samo jak binarnie?
    no i może jednak ktoś oszczędziłby mi trudu poszukiwań i
    rozważania dżołków w językach obcych i napisał jak koduje
    się liczby w typie float?

    a przy okazji, istnieje jakaś "pozycja" o algorytmach
    obliczeniowych? chodzi o obliczanie różnych rzeczy np. sin,
    pierwiastek, log, exp? nie o żadnych tam sortowaniach czy
    interpolacji... ;o)




    bezrobotny wrote:
    | najprościej. Dzielenie w U2 co prawda jest możliwe, ale dość
    | kłopotliwe.
    ja bym Cię jednak pociągnął za język, mógłbyś mi powiedzieć jak to się
    robi własnie w U2 bez zamiany...


    W U2 najprostrzy algorytm to odejmowanie w pętli ze zliczniem ilosci
    odjęć, po przekroczeniu zera dodaje sie raz dzielnik i zmniejsza licznik
    iteracji i tak się otrzymuj wynik.


    | Problem będzie z resztą, o ile chcemy mieć ujemne reszty.
    a to dopiero ciekawe, a jak koduje się resztę w U2?
    tak samo jak binarnie?


    A przypadkiem reszta nie jest zawsze dodatnia (-2 / 7 = -1 i reszta 5 ?)?
    A wtedy to nie ma różnicy jak zapisywać, bo czy to U2, czy U1, czy też bez
    znaku to bedzie tak samo Głowy jednak za to nie dam. Musisz sprawdzic jak
    jest zdefiniowane to w jakiejś encyklopedii matematycznej.


    no i może jednak ktoś oszczędziłby mi trudu poszukiwań i rozważania
    dżołków w językach obcych i napisał jak koduje się liczby w typie float?


    Najbardziej znaczący bit na znak, kolejne bity na mantysę, najmniej
    znaczące bity na wykadnik. Typ float jest opisany np tu:
    http://stevehollasch.com/cgindex/coding/ieeefloat.html
    A np dla liczb 10-bitowych:
    0 1010010 101 = + 82 * 2^5


    a przy okazji, istnieje jakaś "pozycja" o algorytmach obliczeniowych?
    chodzi o obliczanie różnych rzeczy np. sin, pierwiastek, log, exp?


    Pozycji nie znam żadnej, ale ja bym liczył z rozwinięcia w szereg
    Maclaurina.




    wrzuc te pytania


    1.Pytania z Języka C opublikowane

    2.Co rozumiemy pod pojęciem "architektura komputerów"

    3.Architektura według Neumanna

    4.Magistrala.Systemy magistralowe

    5.Metody przedstawiania algorytmów

    6.Zasady tworzenia schematów blokowych do tworzenia algorytmów

    7.Schematy podstawowe algorytmów: sumowanie ciągów i szeregów

    8.
    : obliczanie iloczynów i potęg

    9.
    : szukanie wartości najmniejszej i największej

    10.
    : obliczanie wartości wielomianu, schemat Hornera

    11.Pojęcie typu danych

    12.Kod ASCII

    13.Systemy pozycyjne naturalne

    14.Konwersja liczb całkowitych do systemu o innej podstawie

    15.Konwersja części ułamkowej do systemu o innej podstawie

    16.Metody reprezentacji danych całkowitych

    17.System U2 reprezentacji danych

    18.Kodowanie liczb w systemie "+N"

    19.Standard zmiennoprzecinkowy IEEE 754

    20.Formaty zmiennoprzecinkowe IEEE 754

    21.Wzorce kodów obiektów standardu IEEE 754




    Piotr Wyderski wrote:
    | sprawdzałeś wszystkie działające mainframe?

    Nie musiałem, po prostu znam kodowania maszynowe
    zmiennych całkowitych stosowane od lat 50-tych. Z
    trzech najistotniejszych, czyli U2, znak-moduł i U1


    to akurat sprawdzałem, ale i tak może trafić się egzotyczna i do tej
    pory działająca platforma na której nie każda binarna reprezentacja jest
    ważną liczbą całkowitą ze znakiem

    B.




    Kamil Ch. wrote:
    Może i jest 30 różnych kodowań, ale najczęściej stosowane są chyba:
    - znak-moduł
    - U1
    - U2


    Tak, w procesorach ogolnego przeznaczenia sa to najczesciej
    spotykane kodowania, lecz stosuje albo stosowalo sie wiele
    innych. Przyklady:

    - cala rodzina kodow wagowych, m.in np. kod Aikena 2421,
    kod BCD;
    - rodzina kodow "m z n", jak np. kod dwupiatkowy (biquinary) itp.
    - kody celowo niejednoznaczne;
    - kody jednoznaczne o innych podstawach, np. (-2)^n,
    nie wymagajace pamietania bitu znaku;
    - kody modularne, np. polegajace na pamietaniu liczby
    jako wektora wykladnikow i wyznaczania wartosci liczby
    jako sumy poteg kolejnych liczb pierwszych. Np.: [1,3,2]
    oznacza 2^1 + 3^3 + 5^2 = 54. Ta i podobne jej reprezentacje
    szczegolnie dobrze nadaje sie do zrownoleglenia, a mnozenie
    i dzielenie sa w niej znacznie szybsze, niz dodawanie i odejmowanie.
    - inne kody, ktorych teraz nie opisze, bo mi sie spieszy. :-)

        Pozdrawiam
        Piotr Wyderski




    Geo wrote:
    Chodzi o to, aby dla każdej liczby całkowitej istniała liczba do niej
    przeciwna.


    Nie, chodzi o to, że C++ nie wymusza kodowania U2, i dopuszcza
    m.in. kodowanie U1 oraz zank-moduł, a one są symetryczne względem
    zera (zer... :-)) i nie pozwalają na zapisanie liczby -32768.

        Pozdrawiam
        Piotr Wyderski




    Diable wrote:

    Witam !

    mam pytanie dotyczace raczej typow zmiennych niz samego delphi ale...

    chodzi o liczby ujemne (integer, real) i ich reprezentacje w pamieci
    (jak system rozroznia liczby ujemne)

    Diable...


    Najstarszy bit to bit znaku. Dla Integer jest to bit 32 (31 liczac od
    0). Reszta liczby kodowana jest w U2. W rzeczywistych jest:
    bit znaku cechy, cecha, bit znaku mantysy, mantysa. Nie dam glowy ale
    zarowno cecha (o ile mozna w tym wypadku mowic o kodowaniu) jak i
    mantysa sa kodowane w U1.

    Co do tego _co_to_jest_ U1 i U2, polecam literature - "Technika
    cyfrowa", po prostu tekst na ten temat bylby ciut dlugi.

    Z powazaniem,
      Milosz A. Krajewski



    Yoop napisał(a):


    najprostsza metoda jaka mi przyszla do glowy tak na szybcika :)

    function cnt(N){return N.toString(2).match(/1/g).length}

    N - podana liczba naturalna


    Hehe, mi to przyszło na myśl na minucie po przeczytaniu treści zadanka.
    Wstydziłem się zapodać bo mam silne przeczucie że to na bitach tzreba
    operować...


    w zasadzie moze to byc rowniez liczba calkowita, choc nie jest takie
    oczywiste, zalezy to od tego jak bysmy chcieli kodowac minus (a jak
    koduje go metoda toString())


    toString(2) da ci po prostu minus na poczatku, ale "normalnie" liczba
    kodowana jest w 32 bitowym kodzie U2 (o czym można się przekonać za
    pomoca operatora bezznakowego przesunięcia w prawo. Dobrze gadom?



    [...]


    toString(2) da ci po prostu minus na poczatku, ale "normalnie" liczba
    kodowana jest w 32 bitowym kodzie U2 (o czym można się przekonać za pomoca
    operatora bezznakowego przesunięcia w prawo. Dobrze gadom?


    dobrze :)

    a pokusisz sie o zrobienie "fixa", ktory poda "prawdziwy" wyglad,
    zakladajac, ze liczbe kodujemy na 32 bitach? :)

    v.



    Vax napisał(a):


    [...]

    | toString(2) da ci po prostu minus na poczatku, ale "normalnie" liczba
    | kodowana jest w 32 bitowym kodzie U2 (o czym można się przekonać za pomoca
    | operatora bezznakowego przesunięcia w prawo. Dobrze gadom?

    dobrze :)

    a pokusisz sie o zrobienie "fixa", ktory poda "prawdziwy" wyglad,
    zakladajac, ze liczbe kodujemy na 32 bitach? :)


    dla ujemnych już mam

    (N| 0).toString(2)

    Dla dodatnich trzeba tylko dopisać brakujące zera. Mam to jakoś zgrabnie
    połączyć i zultrapackować?




    Badman wrote:


    Kcalc podal dobrze wynik tyle ze w kodzie U2 - kodzie uzupelnien do dwoch,
    gdzie zamiana liczby z dodatniej na ujemna polega na zanegowaniu wszystkich
    bitow i dodaniu jedynki.  Czyli twoje 11 (to bezwzgledne) zostalo tak
    potraktowane wlasnie.  Poniewaz liczba miala tzw. nieznaczace zera przed
    pierwsza jedynka, (0...000001011) to po zaanegowaniu daly jedynki.  Jesli
    chcialbys teraz te -11 zamienic na liczbe dodatnia - zrob ta sama operacje
    - zaneguj wszystkie bity i dodaj jedynke :-)) I zobacz co wyjdzie.
    Jest kilka konwencji jesli chodzi o sposoby kodowania liczb - nauczyciel
    uczyl Cie o jednej, a Kcalc uzywa drugiej :-)  




    On Wed, 10 Dec 1997, Jaroslaw Lis wrote:
    Tyle ze przy zapisie dwojkowym MOZEMY sie pokusic o pominiecie
    tej 'pierwszej 1" w zapisie, i wtedy normalizacja jest konieczna.


    Zapis z pominięciem początkowej "1" jest stosowany w typie Real w Pascalu,
    a nie jest stosowany w typach z koprocesora Intela.


    Tyle ze rownie dobrze mozna by sie umowic ze cecha jest pamietana w
    U2, za wyjatkiem wartosci -128 [80h], ktora mowi "cala liczba wynosi
    0".


    Na dodatkowej wartości cechy, zapisuje się takie rzeczy jak +0, -0, +Inf,
    -Inf, NaN (Not a Number). Tak jest zarówno w Intelach jak i w Realu.

    Poza tym mantysy na ogół nie koduje się w U2, tylko jako liczba_całkowita
    i znak. Ułatwia to np. mnożenie... (normalizację też).

    Cechę (wykładnik) koduje się najczęściej jako liczbę całkowitą, od której
    trzeba odjąć pewną stałą, żeby otrzymać właściwą cechę. Wtedy 0 oznacza
    dodatkowe funkcje, a wartość równa stałej oznacza 0.

    _______________________________________________________________________________
    Michał Kaczmarczyk  mailto:m@iname.com http://student.uci.agh.edu.pl/~kaczmar

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zabaxxx26.xlx.pl