-
X-Received: by 10.140.92.105 with SMTP id a96mr4384qge.20.1443284533812; Sat, 26 Sep
2015 09:22:13 -0700 (PDT)
X-Received: by 10.140.92.105 with SMTP id a96mr4384qge.20.1443284533812; Sat, 26 Sep
2015 09:22:13 -0700 (PDT)
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
.pl!news.nask.org.pl!goblin3!goblin.stu.neva.ru!news.ripco.com!news.glorb.com!k
q10no10894429igb.0!news-out.google.com!68ni27276qgg.0!nntp.google.com!v79no4858
698qge.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Sat, 26 Sep 2015 09:22:13 -0700 (PDT)
In-Reply-To: <1i91n3jkf2r8s$.us4fry1ns183$.dlg@40tude.net>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=178.36.206.163;
posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
NNTP-Posting-Host: 178.36.206.163
References: <1i91n3jkf2r8s$.us4fry1ns183$.dlg@40tude.net>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <9...@g...com>
Subject: Re: Konwersja kodu
From: "M.M." <m...@g...com>
Injection-Date: Sat, 26 Sep 2015 16:22:13 +0000
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.comp.programming:208410
[ ukryj nagłówki ]On Saturday, September 26, 2015 at 5:27:32 PM UTC+2, szemrany wrote:
> Hejka,
>
> Widzę, że niektórym się na grupie nudzi i próbują podkarmiać trolla, więc
> może wykorzystam ten power w słusznym celu ;-)
>
> Mianowicie niejaki AK mnie porzucił z pomocą w konwersji kodu z C do
> Pascala i potrzebuję pomocy.
> Już prawie wszystko mam przetłumaczone, ale jeszcze pojawiają się
> wątpliwości. Oto one.
>
> ret->allocated = (size / wordbitsize + 1);
>
> gdzie allocated to int
>
> Czy w C przypisanie wyniku dzielenia konwertuje/obcina go do typu
> całkowitego?
Pogooglaj za konwersją i promocją typów.
http://mikrokontrolery.blogspot.com/2011/02/kurs-jez
yka-c-rzutowanie-promocja-typow.html
>
> Kolejna rzecz.
>
> if (trailing_bits) {}
>
> gdzie trailing_bits to char
>
> Czy char jest odpowiednikiem typu byte z pascala?
O ile pamiętam, to w C była gwarancja tylko co do tego:
sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long).
Może gdzieś na jakiejś platformie przy jakiś opcjach char
ma 10 bitów, moze gdzieś 16.
Jeśli ilość bitów i bajtów w typach jest ważne, to najlepiej
je przedefiniować w jakimś miejscu. Nastepnie na starcie
programu:
if( sizeof(moj_char) <= 2 ) {
printf("ten program zadziała tylko na znakach 2bajtowych");
abort();
}
> Czy takie sprawdzanie warunku to sprawdzenie czy trailing_bits <> 0?
Tak.
> I następna.
>
> x = (word_t) ~0;
>
> gdzie word_t to uint64
>
> Czy to jest równoważne zapisowi:
>
> x = max_uint64;
Zależy czym jest to zero bez sufixów.
Ja bym napisał , że:
x = ~0ULL;
jest równe
x = max_uint64;
> czyli zapalone wszystkie 64 bity?
> Kolejny niejasny moment:
>
> ret->trailing_bits = *(ret->bitset + ret->allocated - 1) ? (word_t) ~0 : 0;
Faktycznie niejasny moment. Nie lepiej unikać takich sytuacji?
Dlaczego nie sprawdzisz jak Twój kompilator na Twojej platformie z Twoim
opcjami się zachowa?
Na pewno
typ_calkowity x = 0;
wyzeruje wszystkie bity
Ustawia się wszystkie bity tak:
typ_dodatni x = ~((typ_dodatni)0);
Wyrażenie
~0
jest równe -1. Co się stanie gdy wartość ujemną się przypisze do
typu dodatniego? Odpowiadam pytaniem, po co coś takiego robić?
Chcesz wiedzieć jak się zachowa kompilator, a czy w ogóle można
sensownie się zachować, gdy ktoś każe trzymać wartość ujemną w
typie bez znaku?
I odwrotnie:
~0u
to max_uint.
Przypisywanie max_uint do inta to przekroczenie zakresu. Znowu moje
pytanie, po co coś takiego robić? Nie lepiej napisać kod tak, aby z
niego wynikały intencje programisty? Np.:
int x = -1;
Mieszanie operacji arytmetycznych ze znakiem z operacjami bitowymi to
proszenie się o kłopoty. Wiem, można uzyskać szybszy kod. Można nawet w
typie double ustawiać i zerować bity. Ale
>
> Co ta linia przypisuje do trailing_bits?
>
> I definicje, żeby było łatwiej:
>
> ret to IntBitSet
>
> typedef unsigned long long int word_t;
>
> typedef struct {
> int size;
> int allocated;
> word_t trailing_bits;
> int tot;
> word_t *bitset;
> IntBitSet;
>
> Dziękuję :-)
Następne wpisy z tego wątku
- 26.09.15 18:49 bartekltg
- 26.09.15 18:57 szemrany
- 26.09.15 19:01 bartekltg
- 26.09.15 19:31 szemrany
- 26.09.15 19:35 bartekltg
- 26.09.15 19:47 M.M.
- 26.09.15 19:56 bartekltg
- 28.09.15 09:57 Tomasz Kaczanowski
Najnowsze wątki z tej grupy
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
Najnowsze wątki
- 2025-08-06 Gdynia => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-08-06 Białystok => Inżynier oprogramowania .Net <=
- 2025-08-06 "[...] sejmowe wystąpienie posłanki Klaudii Jachiry, która zakończyła je słowami ,,Sława Ukrainie"."
- 2025-08-05 "Chiny przekraczają w wydobyciu 4 mld ton węgla, Indie i USA ponad 1 mld, a Rosja 500 mln ton [...]"
- 2025-08-05 Panuje się 181 159,42 zł./mies. na posła w 2026r.
- 2025-08-05 "Chiny przekraczają w wydobyciu 4 mld ton węgla, Indie i USA ponad 1 mld, a Rosja 500 mln ton [...]"
- 2025-08-05 Czy cos fi przechodzi przez trafo separujące?
- 2025-08-05 kajaki i promile
- 2025-08-05 Re: Tesla jest bezpieczna, wczoraj spaliła się doszczętnie na Ursynowie i nikomu się nic nie stało
- 2025-08-05 Gdynia => Przedstawiciel handlowy / KAM (branża TSL) <=
- 2025-08-05 Re: Atak na lekarza w Oławie. Policja zatrzymała sprawcę na lotnisku Polska Agencja Prasowa 4 sierpnia 2025, 12:16 FACEBOOK X E-MAIL KOPIUJ LINK W szpitalu w Oławie 37-letni pacjent zaatakował lekarza, po tym, jak ten odmówił mu wypisania długoterminowego
- 2025-08-05 B2B i książka przychodów i rozchodów
- 2025-08-04 Re: Atak na lekarza w Oławie. Policja zatrzymała sprawcę na lotnisku Polska Agencja Prasowa 4 sierpnia 2025, 12:16 FACEBOOK X E-MAIL KOPIUJ LINK W szpitalu w Oławie 37-letni pacjent zaatakował lekarza, po tym, jak ten odmówił mu wypisania długoterminowego
- 2025-08-04 Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- 2025-08-04 Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML