2016-08-30 8 views

Antwort

2

Bit Darstellung eines Vektors von unsigned char s ist nicht abhängig von Endian, weil char Typen Single-Byte sind, während endianness erfahren Sie, wie mehrere Bytes im Speicher angeordnet sind.

Daher 0x0f würde zu einem frühen Adresse im Speicher als 0x05 gefunden werden,

0000111100000101 

einschließlich EOF-Erzeugung, wenn es [ein]

Im Gegensatz zu C-Strings und initialisiert Arrays mit C-Strings, Arrays, die mit Initiatoren für geschweifte Klammern initialisiert wurden, haben keine Endmarke.

+0

Ok, also ich denke, dass avery zwei HEX Nummer ich habe 8 Bit, was auch immer sie sind, richtig? Also warum habe ich diese Übung, die Länge dieses Vektors wird von Prof als 18 Bit und nicht 24 gegeben? unsigned char vet [] = {0xBC, 0xFF, 0x01}; – Caramelleamare

+1

@caramelleamare Ich habe keine Idee, wie man 18 Bits in drei Bytes zählt, abgesehen davon, jedes Zeichen 6-Bit zu machen. Ich würde auf jeden Fall den Profi fragen, wo die restlichen sechs Bits sind. – dasblinkenlight

+0

Infact ich fragte, aber ich erhielt noch keine Antwort und ich verstehe nicht, wie man mit der Übung fortschreitet! Und nirgendwo wird geschrieben, Char als 6-Bit lang zu betrachten. Die Übung fordert mich auf, die Min- und Max-Subsequenz von 0 Bit in diesem gegebenen Vektor zu finden. – Caramelleamare

0

Nun, also, wenn Vektor ist:

unsigned char vet[] = { 0xBC,0xFF,0x01 } 

Bit Darstellung sollte sein:

101111001111111100000001 

und seine Länge beträgt 24 Bit, weil es kein Ende-Marke ist, rigth?

Verwandte Themen