Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Proveďte převod zadaných dat do požadovaných výstupů.
a)V grafickém SW GIMP byl vytvořen následný 2D rastrový objekt, který byl exportován do verze binárního formátu BMP pod názvem souboru "vystup.bmp". Ze souboru byla vyčtena vybraná data. Daná data jsou zapsána v šestnáctkové číselné soustavě, přičemž je u nich vždy uveden také jejich datový typ a režim, tj.
# ) Identifikace BMP souboru: 42 4D
Datový typ char (8 bitů), tj. znaky ve formátu ASCII, režim Big Endian.
#) Velikost souboru: 1A 28 00 00
Datový typ uint32 (32 bitů, neznaménkový), režim Little Endian.
#)Šířka obrázku: 80 02 00 00
Datový typ uint32 (32 bitů, neznaménkový), režim Little Endian.
#)Výška obrázku: E0 01 00 00
Datový typ uint 32 (32 bitů, neznaménkový), režim Little Endian.
Určete výsledné hodnoty z vybraných vyčtených dat.
Nastoupila jsem na vš, vůbec netuším co s tím, poprosím o pomoc, děkuji předem.
Offline
↑ Jull6:
Ahoj, rozumíš pojmům v zadání? Pokud ne, doporučuji nastudovat. Rozumíš otázce? Pokud ne, zeptej se zadávajícího.
Offline
↑ check_drummer: Ne, nevím jak se jmenuje téma zadání? A bohužel i když nastuduji co je ASCII kód a big endian a já nevím tak pořád nevím jak to řešit. Ráda bych se zeptala zadávajícího, ale na to není časový prostor... zadává další úkoly. Ale děkuji za odpověď.
Offline
↑ Jull6:Do jakého předmětu to má být? Přijde mi to lehce matoucím způsobem zadané. :D
Ta informace k prvnímu řádku, že je to low endian je úplně k ničemu, to čím to začíná je "magická konstanta" 42 4D, ta se bere v pořadí jak je zapsána, takže endian nehraje roli. Podívej se do ASCII tabulky co to znamená - nejsou to čísla, ale dvě písmena (tak si je vymyslel autor formátu BMP, netřeba nad tím dál hloubat).
Na druhém řádku máš číslo 1A 28 00 00. Little endian znamená, že abys s tím mohla normálně po lidsku pracovat, musíš si to přeuspořádat do pořadí Big endian na 00 00 28 1A. Ten Little endian byl takhle vymyšlený aby se registr o délce 32 bitů, který obsahuje 16bitovou hodnotu dal uložit nebo načíst z paměti jak 32bitovou, tak 16bitovou operací. Dnes téměř k ničemu, ale kvůli kompatibilitě to budeme udržovat ještě příštích tisíc let. Když to máš v Big endian, můžeš to buď naťukat do kalkulačky ve windows v programátorském režimu, nebo si to růčo spočítat jako polynom, nebo to předhoď wolframu alpha s prefixem 0x (tj. 0x0000281A). Další řádky zpracuješ úplně stejně. Mám pocit, že v tom cvičení jde jen o převod z hexadecimální do dekadické soustavy zpestřený endiany a kecy okolo :D
Podle toho co píšeš soudím, že v binárních formátech nejsi moc doma. Doporučuju přečíst https://en.wikipedia.org/wiki/Two%27s_complement . V tom tvém příkladu sice žádné záporné číslo není, ale píše se tam, že je to signed, takže by být mohlo a je dobré vědět, co to obnáší.
EDIT: kecám, je to tam unsigned, ale stejně si to přečti :D
Offline
↑ Jull6:
Máte na to nějaká skripta? Na VŠ si musíš hodně informací zjišťovat sama a nečekat že ti to vše někdo automaticky řekne....
Offline
Ale wolframalpha.com určitě znáš :-)
K tomu polynomu, podívej se sem: https://cs.wikipedia.org/wiki/%C5%A0est … 1_soustava
Počítá se to potom jako
2*16^3 + 8*16^2 + 1*16^1 + A*16^0
(těch 16^0 je tam jen pro ozdobu :-))
nebo si to můžeš přepsat do Hornerova schématu, ať nemusíš pořád počítat ty mocniny. Ale v teorii přenosu informace je stejně budeš za chvíli umět nazpaměť :D Určitě si to zkus počítat tím polynomem, ať víš o co jde.
Offline
Není to 424D ale 42, 4D :-) Třeba v tabulce https://simple.m.wikipedia.org/wiki/Fil … -Table.svg , není to úplně typické grafické uspořádání, ale je z toho zřejmější co je tím míněno. Hledat to za tebe nebudu, ale můžeš sem pro kontrolu napsat co ti vyšlo.
Offline
Obojí je zadané hexadecimálně (ze zadání "v šestnáctkové číselné soustavě"), výsledkem mají být znaky (to je dáno tím "Datový typ char (8 bitů)"), nejspíš to budou nějaká písmena. Ten kód ASCII je způsob (jeden z několika obecně používaných způsobů) jak do počítače uložit písmena, když počítač nativně pracuje jenom s čísly.
Offline