Cum de a citi biți fișier?
Buna ziua.
Te rog spune-mi cum să citiți biți fișier. Cel mai apropiat lucru să-l că am ajunge să citesc acest fișier octet folosind BlockRead (F, Buf, 1). Atunci nu știu ce să fac. Ajută-te rog.
Zara recunoscător.
> Te rog spune-mi cum să citească fișierul pe
> Biți.
Nimic.
> Mai mult, nu știu ce să fac.
Descompune bytes primite de biți.
Oh! A doua venire. Mai recent, a fost la fel.
> Te rog spune-mi cum să citească fișierul pe # XA0; biți.
În primul rând, scrie-l biți, și apoi cred.
> Ajutor va rog.
Imediat numit conferința au elementul de intrare „căutare“ și „Căutare“ buton. Această problemă a fost discutată neodnakratno.
Și cineva a postat de ce?
Dacă este așa nerăbdător, este posibil, după cum urmează:
1. Afișează fișierul în memoria
2. Acum, lucrul cu el, ca un șir de octeți, citirea bitul din dreapta al următoarei F-iey (luate de la modulul QStrings):
funcționa Q_BitTest (P: pointer; Index: Integer): Boolean;
asm
# XA0; # XA0; # XA0; # XA0; BT # XA0; # XA0; # XA0; [EAX], EDX
# XA0; # XA0; # XA0; # XA0; SETC # XA0; # XA0; AL
se încheie;
Acum, despre forma de resetare și faceți clic pe Find
# XA0; # XA0; # XA0; # XA0; apare când introduc fraza „biți fișier“ cutie goală. Și totuși. Poate că nu am făcut-o corect.
Pe scurt, toate mulțumesc pentru răspunsurile :)
Anatoly Podgoretsky nu înțelegi. Vreau ca un fel de acces la biți, deoarece Avem nevoie de fiecare dintre ele pentru a pune pe poziția mea timpurie biți bine definit.
E ceva Amoeba vorbit despre asta. Ați putea să popodrbnee. Nu sunt un programator. Sunt un comunicator.
Mulțumesc în prealabil.
1. TBits nu se potrivesc?
2. Set de 0..7 nu va funcționa?
Personal, aș în această situație s-ar fi identificat următoarele două tipuri:
TMyBits = (Bit0, bit1, Bit2 Bit63.);
TSetOfMyBits = Set de TMyBits;
Apoi, pentru a citi blocurile de fișiere de 8 biți într-o variabilă de tip TSetOfMyBits (sau # XA0, citit deja dosarul ar fi descifrat de către aceleași blocuri copierea în aceeași variabilă).
Deși, dacă vă amintiți
> Apoi, acest program (sau, mai degrabă, acest algoritm) este cusut în procesor.
Am dezvoltat acest algoritm, ținând cont de sistemul specific de comenzi cu microprocesor.
Îndepărtează diferența dintre „Htmlfile_i“ și «d = app-biți»
Hermann, profesorul mi-a spus că voi mai întâi UPL toate simulate pe un calculator pe exemplu wav. Asta este, pe care doriți să criptați încă un fișier wav. Și apoi datele de voce deja pe procesor.
Dar, oricum, mersi pentru ajutor :)
Aici! În cele din urmă, să spunem un cuvânt cheie „profesor“. Deci, s-ar spune imediat și.
> # XA0; O voce de date este apoi mai târziu procesor.
Precizați subiectul profesorului. În cazul în care acest „Microprocesoare“, atunci va trebui să facă două lucrări diferite. Un Pascal, a doua pe MC.
MY acest job master :)))))))
N-am cerut să strige „Eu sunt cel mai mare Walsh.“. Din păcate, acest lucru a fost în „cinetic“ unii copii.
Hermann
> Personal, aș în această situație s-ar fi identificat următoarele două tipuri:
TMyBits = (Bit0, bit1, Bit2 Bit63.);
TSetOfMyBits = Set de TMyBits;
în timp ce nu EOF (F) do # XA0; # XA0; # XA0; # XA0; # XA0;
începe
BlockRead (F, Buf, 1);
Și aici îmi place să fiu?
Deși în cazul meu BlockRead (F, Buf, 8);
Depinde de modul în care declară o variabilă F (Fișier, Fișier de TSetOfMyBits). Și din ceea ce ai comandat RESET (F.).
Onoare în cele din urmă cu privire la operațiunile de biți - schimburi, măști, bucăți de fișier deduse multipli de 8 octeți și să le ocupe
Poate că acest cod
Citește un MyBite variabilă octet
pentru fiecare octet
a verifica dacă există o
dacă bitul este 1 - lea loc ets
a: = MyBite și 00000001
pe al doilea
a: = MyBite și 00000010
etc. Firește, dacă a> 0, atunci există un pic - dacă 0 - atunci nu.
aveți nevoie de el?
Traducere octeți de biți:
Funcția byte2str (B: byte): string;
i var: byte;
începe
# XA0; # XA0; Rezultatul: = "";
# XA0; # XA0; pentru i: = 0 până la 7 do
# XA0; # XA0; începe
# XA0; # XA0; în cazul în care (B și 128) = 128 rezulta atunci: = rezultat + rezultat "1" altfel: = rezultatul + "0";
# XA0; # XA0; B: = (B SHL 1);
# XA0; # XA0; se încheie;
se încheie;
Legendă: = byte2str (4);
Având în vedere această problemă, toate acestea sunt încă să fie injectat într-un fel în memorie. Desigur, nu un pic, dar, IMHO, blocuri.
> Sau să programeze microcipuri și software-ul stie deja Pascal?
„Programul de programare“ nimic, dar datele binare nu ia, ci un kompillyatory Pascal este. Și am aici mesaje „remarci supărate“, despre una dintre ele. Deși kompillyatory C până la 51 de procesoare este un complet acceptabil, cu excepția cazului în care considerați optimă.
Aici sunt două funcții:
funcționează DecToBin (dec: Byte): Integer;
începe
# XA0; Rezultat: = (dec div 1 mod 2) + (dec div 2 mod 2) * 10 + (dec div 4 mod 2) * 100
# XA0; # XA0 + (dec div 8 mod 2) * 1000 + (dec div 16 mod 2) * 10000
# XA0; # XA0 + (div 32 decembrie mod 2) * 100,000 + (dec div 64 mod 2) * 1,000,000
# XA0; # XA0 + (div 128 decembrie mod 2) * 10000000;
se încheie;
Funcția Bit (Bint: Integer; n: Byte): Byte;
începe
# XA0; Rezultat: = Bint div Round (Exp ((8-n) * Ln (10))) mod 10;
se încheie;
DecToBin transferă un octet în reprezentare binară, Bit preia de octet binar prin indexul său.