Kezdőoldal » Számítástechnika » Programozás » Ez miért nulla? Python

Ez miért nulla? Python

Figyelt kérdés

Van egy bufferem ami 1540138 bajt hosszu, van egy poziciom ami a pos = 1574-re mutat. Es ebbol a poziciobol ki akarom masolni az elotte es utana levo bajtokat is, tehat +/- bajtokat. De valamiert nulla stringet masol ki? Nem ertem, es megorulok benne.


print(pos, len(self.buf))

print(len(self.buf[pos - 0x1000 : pos + 0x1000]))


Az alábbit irja ki a program:


1574 1540138

0



jan. 22. 11:07
 1/2 A kérdező kommentje:

Egy konkret pelda:


>>> s="\x00"*1540138

>>> pos=1574

>>> print(len(s[pos - 0x1000 : pos + 0x1000]))

0

jan. 22. 11:10
 2/2 anonim ***** válasza:
74%

0x1000 = 65536

1574 - 65536 = -63962

így negatív kezdési pontot adsz meg a részlista kezdési pontjának.

jan. 22. 11:52
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!