<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Big-Endian on Karpoke - Just Another Blog</title><link>http://karpoke.ignaciocano.com/tags/big-endian/</link><description>Recent content in Big-Endian on Karpoke - Just Another Blog</description><generator>Hugo -- 0.159.0</generator><language>es</language><lastBuildDate>Wed, 07 Dec 2016 20:26:00 +0100</lastBuildDate><atom:link href="http://karpoke.ignaciocano.com/tags/big-endian/index.xml" rel="self" type="application/rss+xml"/><item><title>How to teach endian</title><link>http://karpoke.ignaciocano.com/2016/12/07/how-to-teach-endian/</link><pubDate>Wed, 07 Dec 2016 20:26:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2016/12/07/how-to-teach-endian/</guid><description>&lt;blockquote&gt;
&lt;p&gt;One of the major disciplines in computer science is parsing/formatting. This
is the process of converting the external format of data (file formats,
network protocols, hardware registers) into the internal format (the data
structures that software operates on).&lt;/p&gt;
&lt;p&gt;It should be a formal computer-science discipline, because it’s actually a
lot more difficult than you’d expect. That’s because the majority of
vulnerabilities in software that hackers exploit are due to parsing bugs.
Since programmers don’t learn about parsing formally, they figure it out for
themselves, creating ad hoc solutions that are prone to bugs. For example,
programmers assume external buffers cannot be larger than internal ones,
leading to buffer overflows.&lt;/p&gt;</description></item><item><title>Endianness</title><link>http://karpoke.ignaciocano.com/2011/07/30/endianness/</link><pubDate>Sat, 30 Jul 2011 17:34:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2011/07/30/endianness/</guid><description>&lt;p&gt;&amp;ldquo;&lt;a href="http://secure.wikimedia.org/wikipedia/es/wiki/Endianness"&gt;Endianicidad&lt;/a&gt;&amp;rdquo; designa el formato en el que se almacenan los datos
de más de un byte en un ordenador. El sistema &lt;em&gt;big-endian&lt;/em&gt; adoptado por
Motorola entre otros, consiste en representar los bytes en el orden
&amp;ldquo;natural&amp;rdquo;, así el valor hexadecimal 0x4A3B2C1D se codificaría en memoria
en la secuencia {4A, 3B, 2C, 1D}. En el sistema &lt;em&gt;little-endian&lt;/em&gt; adoptado
por Intel, entre otros, el mismo valor se codificaría como {1D, 2C, 3B,
4A}, de manera que de este modo se hace más intuitivo el acceso a datos,
porque se efectúa fácilmente de manera incremental de menos relevante a
más relevante (siempre se opera con incrementos de contador en la
memoria).&lt;/p&gt;</description></item></channel></rss>