Path: csiph.com!goblin2!goblin.stu.neva.ru!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail From: bartekltg Newsgroups: pl.comp.programming Subject: Re: Kalkulator z =?UTF-8?B?ZHXFvHltaSBsaWN6YmFtaQ==?= Date: Tue, 01 Sep 2015 20:04:56 +0200 Organization: ATMAN - ATM S.A. Lines: 33 Message-ID: References: <1co660zqhr06x.sfdcgdza75j4$.dlg@40tude.net> NNTP-Posting-Host: 89-73-81-145.dynamic.chello.pl Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: node2.news.atman.pl 1441130696 4535 89.73.81.145 (1 Sep 2015 18:04:56 GMT) X-Complaints-To: usenet@atman.pl NNTP-Posting-Date: Tue, 1 Sep 2015 18:04:56 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.8.0 In-Reply-To: Xref: csiph.com pl.comp.programming:27315 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 >