{"id":689,"date":"2011-01-12T09:59:18","date_gmt":"2011-01-12T08:59:18","guid":{"rendered":"http:\/\/blog.rastersoft.com\/?p=689"},"modified":"2011-01-12T09:59:18","modified_gmt":"2011-01-12T08:59:18","slug":"entre-signos-anda-el-juego","status":"publish","type":"post","link":"https:\/\/blog.rastersoft.com\/?p=689","title":{"rendered":"Entre signos anda el juego"},"content":{"rendered":"<p>Una de las frases preferidas de mi madre es <em>Est\u00e1 el viejo muriendo, y est\u00e1 aprendiendo<\/em>; y como en la gran mayor\u00eda de los refranes, hay una grand\u00edsima verdad oculta en ella.<\/p>\n<p>Y es que estos d\u00edas estoy pele\u00e1ndome con el micro ARM de un TomTom, y me encontraba con que el c\u00f3digo que iba perfectamente en mi PC daba un fallo rar\u00edsimo en el GPS: al imprimir el car\u00e1cter &#8216;\/&#8217; no lo hac\u00eda bien; pero s\u00f3lo ese, el resto los renderizaba perfectamente. Despu\u00e9s de mucho depurar, descubr\u00ed que el fallo era debido, nada menos, que al signo de una variable. Y es que, a pesar de utilizar el mismo compilador (GCC) para ambos casos, resulta que un <em>char<\/em> a secas en PC es <em>signed<\/em>, como todo el mundo asume, pero en ARM es <em>unsigned<\/em>, por lo que un valor que ten\u00eda que ser -1 se convert\u00eda en 255 (la segunda parte del problema es que luego operaba con ese valor y con otro de 32 bits, con lo que, al a\u00f1adirle los 24 bits restantes, no expand\u00eda el bit de signo). Una vez a\u00f1adido el modificador correspondiente, todo pas\u00f3 a funcionar perfectamente.<\/p>\n<p>As\u00ed pues, nunca deis por supuesto el signo de una variable. Consejo de amigo.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Una de las frases preferidas de mi madre es Est\u00e1 el viejo muriendo, y est\u00e1 aprendiendo; y como en la gran mayor\u00eda de los refranes, hay una grand\u00edsima verdad oculta en ella. Y es que estos d\u00edas estoy pele\u00e1ndome con el micro ARM de un TomTom, y me encontraba con que el c\u00f3digo que iba &hellip; <a href=\"https:\/\/blog.rastersoft.com\/?p=689\" class=\"more-link\">Seguir leyendo <span class=\"screen-reader-text\">Entre signos anda el juego<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,6,7],"tags":[],"class_list":["post-689","post","type-post","status-publish","format-standard","hentry","category-programacion","category-trucos","category-tutoriales"],"_links":{"self":[{"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/posts\/689","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=689"}],"version-history":[{"count":0,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/posts\/689\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=689"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=689"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=689"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}