Witam, trochę <ort>nie typowe</ort> pytanie jak na to forum, ale nigdzie nie mogę znaleźć info. Mam pytanie odnośnie tego jak komputer zamienia liczby z systemu 10 na system 2 i na odwrót. Z góry dzięki za pomoc.

- Rejestracja:prawie 23 lata
- Ostatnio:około 4 godziny
Chodzi ci o to w jaki sposób napisać algorytm zmiany systemów liczbowych czy może w jaki sposób komputer przechowuje dane liczbowe?
- Rejestracja:około 10 lat
- Ostatnio:prawie 10 lat
- Postów:12
Rozszerzając moje pytanie, czy jeśli podajemy komputerowi 2 liczby dziesiętne do dodania to czy on zamienia je na system dwójkowy w 1 czy 2 sposób:
- 12(10) = 0001 0010
- 12(10) = 1010
somekind nie załapałeś, nie mówię o konwersji przez człowieka bo to jest jasne ale przez komputer


- Rejestracja:ponad 21 lat
- Ostatnio:minuta
Kamil95PL napisał(a):
Dzięki ci Bateria :)
W artykule brak informacji, że kod BCD nie jest dziś tak szeroko stosowany jak kiedyś. Komputer wewnętrznie liczy w normalnym kodzie dwójkowym, nie w BCD.

- Rejestracja:ponad 13 lat
- Ostatnio:prawie 3 lata
Azarien napisał(a):
Kamil95PL napisał(a):
Dzięki ci Bateria :)
W artykule brak informacji, że kod BCD nie jest dziś tak szeroko stosowany jak kiedyś. Komputer wewnętrznie liczy w normalnym kodzie dwójkowym, nie w BCD.
No nie do końca - powiedziałbym że BCD ma się dobrze.
Pomijając fakt że BCD używa każdy system oparty na COBOL-u (których jeszcze jest parę (-dziesiąt, -set) w Polsce i na świecie) to także niektóre lub wszystkie bazy danych:
Oracle: http://docs.oracle.com/cd/B19306_01/server.102/b14220/datatype.htm#i16209
MS SQL: https://msdn.microsoft.com/en-us/library/ms187746.aspx
DB2: http://www.toadworld.com/platforms/ibmdb2/w/wiki/6837.table-data-types.aspx

- Rejestracja:ponad 13 lat
- Ostatnio:prawie 3 lata
Kamil95PL napisał(a):
Próbowałem szukać i nie znalazłem (być może za mało szukałem) więc zapytałem na forum. Co w tym złego?
http://www.purplemath.com/modules/numbbase.htm
http://mathbits.com/MathBits/CompSci/Introduction/frombase10.htm
http://mathbits.com/MathBits/CompSci/Introduction/tobase10.htm
Kamil95PL napisał(a):
A współczesne komputery liczą na dwójkowym czy na BCD w końcu
Prawie zawsze liczą w dwójkowym. Wyjątkiem są
- komputery kwantowe: http://pl.wikipedia.org/wiki/Komputer_kwantowy
- neuronowe: http://research.ibm.com/cognitive-computing/neurosynaptic-chips.shtml#fbid=40gTYfZ4W3T
- komputery DNA: http://pl.wikipedia.org/wiki/Komputer_DNA
- Rejestracja:ponad 10 lat
- Ostatnio:ponad 6 lat
- Postów:21
Oracle: http://docs.oracle.com/cd/B19306_01/server.102/b14220/datatype.htm#i16209
MS SQL: https://msdn.microsoft.com/en-us/library/ms187746.aspx
DB2: http://www.toadworld.com/platforms/ibmdb2/w/wiki/6837.table-data-types.aspx
Na pierwszy rzut oka widzę tylko sformułowanie fixed-point float. To nie jest coś troszkę innego niż BCD? W sensie - w zapisie bitowym jest gdzieś dorozumiany przecinek po prostu?
A do autora tematu, to powinno wyjaśnić wszelkie niejasności.


- Rejestracja:około 17 lat
- Ostatnio:4 minuty
- Lokalizacja:Wrocław
Kamil95PL napisał(a):
Czyli ty Drogi Bateria mówisz że współczesne komputery korzystają z BCD?
BCD to coś zupełnie innego, dotyczy wewnętrznej reprezentacji liczby w urządzeniu elektronicznym, ma niewiele wspólnego z współczesnymi komputerami, a jeszcze mniej z wypisywaniem na ekranie.
Bo jak nie to nadal nie rozumiem jak komputer rodzi sobie z wypisaniem w systemie 10 tego co wyliczy w 2.
Program zamienia liczbę dwójkową (czyli bajty w pamięci) na tekst, prosi system operacyjny o jego wypisanie, system operacyjny przekazuje to do sterownika karty grafiki, karta grafiki wysyła sygnał do monitora zapalający piksele tworzące odpowiedni kształt, który Ty (nie komputer) interpretujesz jako liczbę w systemie dziesiętnym.
- Rejestracja:prawie 10 lat
- Ostatnio:prawie 10 lat
- Postów:44
najpierw musi zamienić to na ciąg znaków korzystając z algorytmu podobnego do tego który dostałeś w drugim poście, potem w czcionce musi znaleźć opis graficzny znaku który trzeba wyświetlić i dopiero to narysować na monitorze (lub w trybie tekstowym wysłać po prostu kod znaku bezpośrednio do karty graficznej)
w ogóle nie da się wyświetlać na monitorze cyfr - można tylko na nim rysować - od liczby binarnej w pamięci komputera do liczby na ekranie monitora długa droga

- Rejestracja:ponad 22 lata
- Ostatnio:3 dni
Kamil95PL napisał(a):
No ale jak mamy na przykład 101111011 to komputer nie może tego tak po prostu wyświetlić na monitorze w systemie 10.
W 16 owszem.
Zobacz: 379. Może? Może! Chyba, że komputer nie załapał, że to system dziesiętny i myśli, że to szesnastkowo. To może jeszcze raz: 379d. Jeśli widzisz tutaj napis "379d", to znaczy że Twój komputer też umie wyświetlić liczbę 101111011 w zapisie dziesiętnym ;-)
Nie jesteś aby trollem? Pytam, bo poziom trudności Twoich pytań jest zerowy, a w internecie masz nie tysiące, a miliony stron, które odpowiedzą na Twoje problemy. Jeśli nie umiesz znaleźć takich linków, to zostań sprzedawcą czekoladek w Kanadzie, zamiast zabierać się za dużo bardziej skomplikowane problemy związane z programowaniem.