[{"data":1,"prerenderedAt":1322},["ShallowReactive",2],{"doc:\u002Fex07":3},{"id":4,"title":5,"body":6,"description":1315,"extension":1316,"meta":1317,"navigation":124,"path":1318,"seo":1319,"stem":1320,"__hash__":1321},"docs\u002Fex07.md","Ejercicio 07: ft_putnbr",{"type":7,"value":8,"toc":1292},"minimark",[9,13,25,86,92,97,480,484,491,501,507,514,520,532,538,544,551,589,595,605,611,676,690,696,699,705,708,714,717,723,733,743,749,756,784,790,808,824,886,890,904,942,946,1014,1018,1116,1120,1261,1264,1272,1276,1288],[10,11,5],"h1",{"id":12},"ejercicio-07-ft_putnbr",[14,15,16],"blockquote",{},[17,18,19,20,24],"p",{},"Muestra el número recibido como parámetro. La función debe ser capaz de\nmostrar cualquier valor posible de una variable de tipo ",[21,22,23],"code",{},"int",".",[26,27,28,41],"table",{},[29,30,31],"thead",{},[32,33,34,38],"tr",{},[35,36,37],"th",{},"Dato",[35,39,40],{},"Valor",[42,43,44,55,65,75],"tbody",{},[32,45,46,50],{},[47,48,49],"td",{},"Carpeta",[47,51,52],{},[21,53,54],{},"ex07\u002F",[32,56,57,60],{},[47,58,59],{},"Archivo",[47,61,62],{},[21,63,64],{},"ft_putnbr.c",[32,66,67,70],{},[47,68,69],{},"Prototipo",[47,71,72],{},[21,73,74],{},"void ft_putnbr(int nb);",[32,76,77,80],{},[47,78,79],{},"Funciones autorizadas",[47,81,82,83],{},"solo ",[21,84,85],{},"write",[17,87,88],{},[89,90,91],"em",{},"Hecho con amor para Laura, por Bogdan.",[93,94,96],"h2",{"id":95},"el-archivo","El archivo",[98,99,104],"pre",{"className":100,"code":101,"language":102,"meta":103,"style":103},"language-c shiki shiki-themes github-light github-dark","#include \u003Cunistd.h>\n\n\u002F*\n** Copia local de ft_putchar: el enunciado solo permite entregar este archivo.\n** Escribe un unico caracter en la salida estandar.\n*\u002F\nstatic void put_char(char c)\n{\n    write(1, &c, 1);\n}\n\n\u002F*\n** Imprime un entero sin signo digito a digito.\n** Es recursiva para que el digito mas significativo salga primero: primero\n** se resuelve el numero dividido entre 10 y despues se escribe el resto.\n*\u002F\nstatic void put_unsigned(unsigned int number)\n{\n    if (number >= 10)\n        put_unsigned(number \u002F 10);\n    put_char('0' + number % 10);\n}\n\n\u002F*\n** Muestra cualquier valor posible de un int.\n** El negativo se convierte a unsigned antes de cambiarle el signo: asi\n** INT_MIN, que no cabe en un int positivo, tampoco desborda.\n*\u002F\nvoid    ft_putnbr(int nb)\n{\n    if (nb \u003C 0)\n    {\n        put_char('-');\n        put_unsigned(-(unsigned int)nb);\n    }\n    else\n        put_unsigned((unsigned int)nb);\n}\n","c","",[21,105,106,119,126,133,139,145,151,178,184,210,216,221,226,232,238,244,249,272,277,294,310,334,339,344,349,355,361,367,372,390,395,411,417,430,449,455,461,475],{"__ignoreMap":103},[107,108,111,115],"span",{"class":109,"line":110},"line",1,[107,112,114],{"class":113},"szBVR","#include",[107,116,118],{"class":117},"sZZnC"," \u003Cunistd.h>\n",[107,120,122],{"class":109,"line":121},2,[107,123,125],{"emptyLinePlaceholder":124},true,"\n",[107,127,129],{"class":109,"line":128},3,[107,130,132],{"class":131},"sJ8bj","\u002F*\n",[107,134,136],{"class":109,"line":135},4,[107,137,138],{"class":131},"** Copia local de ft_putchar: el enunciado solo permite entregar este archivo.\n",[107,140,142],{"class":109,"line":141},5,[107,143,144],{"class":131},"** Escribe un unico caracter en la salida estandar.\n",[107,146,148],{"class":109,"line":147},6,[107,149,150],{"class":131},"*\u002F\n",[107,152,154,157,160,164,168,171,175],{"class":109,"line":153},7,[107,155,156],{"class":113},"static",[107,158,159],{"class":113}," void",[107,161,163],{"class":162},"sScJk"," put_char",[107,165,167],{"class":166},"sVt8B","(",[107,169,170],{"class":113},"char",[107,172,174],{"class":173},"s4XuR"," c",[107,176,177],{"class":166},")\n",[107,179,181],{"class":109,"line":180},8,[107,182,183],{"class":166},"{\n",[107,185,187,190,192,196,199,202,205,207],{"class":109,"line":186},9,[107,188,189],{"class":162},"    write",[107,191,167],{"class":166},[107,193,195],{"class":194},"sj4cs","1",[107,197,198],{"class":166},", ",[107,200,201],{"class":113},"&",[107,203,204],{"class":166},"c, ",[107,206,195],{"class":194},[107,208,209],{"class":166},");\n",[107,211,213],{"class":109,"line":212},10,[107,214,215],{"class":166},"}\n",[107,217,219],{"class":109,"line":218},11,[107,220,125],{"emptyLinePlaceholder":124},[107,222,224],{"class":109,"line":223},12,[107,225,132],{"class":131},[107,227,229],{"class":109,"line":228},13,[107,230,231],{"class":131},"** Imprime un entero sin signo digito a digito.\n",[107,233,235],{"class":109,"line":234},14,[107,236,237],{"class":131},"** Es recursiva para que el digito mas significativo salga primero: primero\n",[107,239,241],{"class":109,"line":240},15,[107,242,243],{"class":131},"** se resuelve el numero dividido entre 10 y despues se escribe el resto.\n",[107,245,247],{"class":109,"line":246},16,[107,248,150],{"class":131},[107,250,252,254,256,259,261,264,267,270],{"class":109,"line":251},17,[107,253,156],{"class":113},[107,255,159],{"class":113},[107,257,258],{"class":162}," put_unsigned",[107,260,167],{"class":166},[107,262,263],{"class":113},"unsigned",[107,265,266],{"class":113}," int",[107,268,269],{"class":173}," number",[107,271,177],{"class":166},[107,273,275],{"class":109,"line":274},18,[107,276,183],{"class":166},[107,278,280,283,286,289,292],{"class":109,"line":279},19,[107,281,282],{"class":113},"    if",[107,284,285],{"class":166}," (number ",[107,287,288],{"class":113},">=",[107,290,291],{"class":194}," 10",[107,293,177],{"class":166},[107,295,297,300,303,306,308],{"class":109,"line":296},20,[107,298,299],{"class":162},"        put_unsigned",[107,301,302],{"class":166},"(number ",[107,304,305],{"class":113},"\u002F",[107,307,291],{"class":194},[107,309,209],{"class":166},[107,311,313,316,318,321,324,327,330,332],{"class":109,"line":312},21,[107,314,315],{"class":162},"    put_char",[107,317,167],{"class":166},[107,319,320],{"class":117},"'0'",[107,322,323],{"class":113}," +",[107,325,326],{"class":166}," number ",[107,328,329],{"class":113},"%",[107,331,291],{"class":194},[107,333,209],{"class":166},[107,335,337],{"class":109,"line":336},22,[107,338,215],{"class":166},[107,340,342],{"class":109,"line":341},23,[107,343,125],{"emptyLinePlaceholder":124},[107,345,347],{"class":109,"line":346},24,[107,348,132],{"class":131},[107,350,352],{"class":109,"line":351},25,[107,353,354],{"class":131},"** Muestra cualquier valor posible de un int.\n",[107,356,358],{"class":109,"line":357},26,[107,359,360],{"class":131},"** El negativo se convierte a unsigned antes de cambiarle el signo: asi\n",[107,362,364],{"class":109,"line":363},27,[107,365,366],{"class":131},"** INT_MIN, que no cabe en un int positivo, tampoco desborda.\n",[107,368,370],{"class":109,"line":369},28,[107,371,150],{"class":131},[107,373,375,378,381,383,385,388],{"class":109,"line":374},29,[107,376,377],{"class":113},"void",[107,379,380],{"class":162},"    ft_putnbr",[107,382,167],{"class":166},[107,384,23],{"class":113},[107,386,387],{"class":173}," nb",[107,389,177],{"class":166},[107,391,393],{"class":109,"line":392},30,[107,394,183],{"class":166},[107,396,398,400,403,406,409],{"class":109,"line":397},31,[107,399,282],{"class":113},[107,401,402],{"class":166}," (nb ",[107,404,405],{"class":113},"\u003C",[107,407,408],{"class":194}," 0",[107,410,177],{"class":166},[107,412,414],{"class":109,"line":413},32,[107,415,416],{"class":166},"    {\n",[107,418,420,423,425,428],{"class":109,"line":419},33,[107,421,422],{"class":162},"        put_char",[107,424,167],{"class":166},[107,426,427],{"class":117},"'-'",[107,429,209],{"class":166},[107,431,433,435,437,440,442,444,446],{"class":109,"line":432},34,[107,434,299],{"class":162},[107,436,167],{"class":166},[107,438,439],{"class":113},"-",[107,441,167],{"class":166},[107,443,263],{"class":113},[107,445,266],{"class":113},[107,447,448],{"class":166},")nb);\n",[107,450,452],{"class":109,"line":451},35,[107,453,454],{"class":166},"    }\n",[107,456,458],{"class":109,"line":457},36,[107,459,460],{"class":113},"    else\n",[107,462,464,466,469,471,473],{"class":109,"line":463},37,[107,465,299],{"class":162},[107,467,468],{"class":166},"((",[107,470,263],{"class":113},[107,472,266],{"class":113},[107,474,448],{"class":166},[107,476,478],{"class":109,"line":477},38,[107,479,215],{"class":166},[93,481,483],{"id":482},"línea-por-línea","Línea por línea",[485,486,488],"h3",{"id":487},"include-unistdh",[21,489,490],{},"#include \u003Cunistd.h>",[17,492,493,494,496,497,500],{},"Declara ",[21,495,85],{},". Sin esta línea, ",[21,498,499],{},"-Werror"," detiene la compilación.",[485,502,504],{"id":503},"static-void-put_charchar-c",[21,505,506],{},"static void put_char(char c)",[17,508,509,510,513],{},"Copia privada de ",[21,511,512],{},"ft_putchar",". Escribe un byte en la salida estándar.",[485,515,517],{"id":516},"static-void-put_unsignedunsigned-int-number",[21,518,519],{},"static void put_unsigned(unsigned int number)",[17,521,522,523,527,528,531],{},"Imprime un entero ",[524,525,526],"strong",{},"sin signo"," dígito a dígito. Es la parte que de verdad\ntrabaja; ",[21,529,530],{},"ft_putnbr"," solo se ocupa del signo.",[17,533,534,537],{},[21,535,536],{},"unsigned int"," es un entero que no admite negativos y puede llegar hasta\n4294967295. Se usa aquí para el caso extremo que se explica más abajo.",[485,539,541],{"id":540},"if-number-10",[21,542,543],{},"if (number >= 10)",[17,545,546,547,550],{},"El caso recursivo. Si el número tiene más de una cifra, primero hay que imprimir\nlas anteriores. La llamada es a sí misma con ",[21,548,549],{},"number \u002F 10",", que quita la última\ncifra:",[26,552,553,564],{},[29,554,555],{},[32,556,557,560],{},[35,558,559],{},"Llamada",[35,561,562],{},[21,563,549],{},[42,565,566,576],{},[32,567,568,573],{},[47,569,570],{},[21,571,572],{},"put_unsigned(42)",[47,574,575],{},"4",[32,577,578,583],{},[47,579,580],{},[21,581,582],{},"put_unsigned(4)",[47,584,585,586],{},"0, no entra en el ",[21,587,588],{},"if",[485,590,592],{"id":591},"put_char0-number-10",[21,593,594],{},"put_char('0' + number % 10);",[17,596,597,598,601,602,604],{},"Imprime la última cifra. Está ",[524,599,600],{},"después"," del ",[21,603,588],{},", así que se ejecuta al volver\nde la recursión. Ese orden es toda la gracia: la cifra más significativa sale\nprimero porque su llamada es la que termina antes de imprimir.",[17,606,607,608,610],{},"Traza de ",[21,609,572],{},":",[26,612,613,626],{},[29,614,615],{},[32,616,617,620,623],{},[35,618,619],{},"Paso",[35,621,622],{},"Qué ocurre",[35,624,625],{},"Qué se escribe",[42,627,628,643,661],{},[32,629,630,632,640],{},[47,631,195],{},[47,633,634,637,638],{},[21,635,636],{},"42 >= 10",", llama a ",[21,639,582],{},[47,641,642],{},"—",[32,644,645,648,657],{},[47,646,647],{},"2",[47,649,650,653,654],{},[21,651,652],{},"4 >= 10"," es falso, escribe ",[21,655,656],{},"4 % 10",[47,658,659],{},[21,660,575],{},[32,662,663,666,672],{},[47,664,665],{},"3",[47,667,668,669],{},"vuelve a la llamada de 42 y escribe ",[21,670,671],{},"42 % 10",[47,673,674],{},[21,675,647],{},[17,677,678,679,682,683,686,687,24],{},"Resultado: ",[21,680,681],{},"42",". Con un ",[21,684,685],{},"while"," normal saldría ",[21,688,689],{},"24",[485,691,693],{"id":692},"void-ft_putnbrint-nb",[21,694,695],{},"void ft_putnbr(int nb)",[17,697,698],{},"La función pública, con el prototipo exacto del enunciado.",[485,700,702],{"id":701},"if-nb-0",[21,703,704],{},"if (nb \u003C 0)",[17,706,707],{},"Los negativos necesitan dos cosas: el signo menos y el número en positivo.",[485,709,711],{"id":710},"put_char",[21,712,713],{},"put_char('-');",[17,715,716],{},"El signo se imprime primero, antes de los dígitos.",[485,718,720],{"id":719},"put_unsigned-unsigned-intnb",[21,721,722],{},"put_unsigned(-(unsigned int)nb);",[17,724,725,726,728,729,732],{},"Aquí está el detalle fino del ejercicio. La conversión a ",[21,727,263],{}," ocurre\n",[524,730,731],{},"antes"," del cambio de signo, y eso no es casualidad.",[485,734,736,739,740],{"id":735},"else-y-put_unsignedunsigned-intnb",[21,737,738],{},"else"," y ",[21,741,742],{},"put_unsigned((unsigned int)nb);",[17,744,745,746,748],{},"Para cero y positivos no hay signo que escribir: se pasa el número tal cual. La\nconversión a ",[21,747,263],{}," no cambia el valor en este rango.",[93,750,752,753],{"id":751},"el-problema-de-int_min","El problema de ",[21,754,755],{},"INT_MIN",[17,757,758,759,761,762,765,766,198,769,772,773,775,776,779,780,783],{},"El mínimo de un ",[21,760,23],{}," es ",[21,763,764],{},"-2147483648",". Su positivo, ",[21,767,768],{},"2147483648",[524,770,771],{},"no cabe"," en\nun ",[21,774,23],{},", cuyo máximo es ",[21,777,778],{},"2147483647",". Escribir ",[21,781,782],{},"-nb"," con ese valor es\ncomportamiento indefinido: el estándar no dice qué pasa, y con optimizaciones\npuede dar cualquier cosa.",[17,785,786,787,789],{},"La solución del código es pasar a ",[21,788,263],{}," antes de negar:",[98,791,793],{"className":100,"code":792,"language":102,"meta":103,"style":103},"-(unsigned int)nb\n",[21,794,795],{"__ignoreMap":103},[107,796,797,799,801,803,805],{"class":109,"line":110},[107,798,439],{"class":113},[107,800,167],{"class":166},[107,802,263],{"class":113},[107,804,266],{"class":113},[107,806,807],{"class":166},")nb\n",[17,809,810,811,813,814,817,818,820,821,823],{},"Convertir un negativo a ",[21,812,263],{}," está definido: se le suma 2³². Así\n",[21,815,816],{},"(unsigned int)(-2147483648)"," vale ",[21,819,768],{},", que sí cabe en un ",[21,822,263],{},", y\nnegarlo devuelve ese mismo número. Ningún paso desborda.",[26,825,826,844],{},[29,827,828],{},[32,829,830,836,841],{},[35,831,832,833],{},"Valor de ",[21,834,835],{},"nb",[35,837,838],{},[21,839,840],{},"(unsigned int)nb",[35,842,843],{},"Resultado",[42,845,846,858,874],{},[32,847,848,852,854],{},[47,849,850],{},[21,851,681],{},[47,853,681],{},[47,855,856],{},[21,857,681],{},[32,859,860,865,868],{},[47,861,862],{},[21,863,864],{},"-42",[47,866,867],{},"4294967254",[47,869,870,873],{},[21,871,872],{},"-…"," = 42",[32,875,876,880,882],{},[47,877,878],{},[21,879,764],{},[47,881,768],{},[47,883,884],{},[21,885,768],{},[93,887,889],{"id":888},"por-qué-no-imprime-salto-de-línea","Por qué no imprime salto de línea",[17,891,892,893,896,897,899,900,903],{},"El enunciado pide mostrar el número, no una línea. ",[21,894,895],{},"ft_putnbr(42)"," escribe\nexactamente ",[21,898,681],{},"; el ",[21,901,902],{},"\\n"," lo pone quien llama:",[98,905,907],{"className":100,"code":906,"language":102,"meta":103,"style":103},"ft_putnbr(42);\nwrite(1, \"\\n\", 1);\n",[21,908,909,919],{"__ignoreMap":103},[107,910,911,913,915,917],{"class":109,"line":110},[107,912,530],{"class":162},[107,914,167],{"class":166},[107,916,681],{"class":194},[107,918,209],{"class":166},[107,920,921,923,925,927,929,932,934,936,938,940],{"class":109,"line":121},[107,922,85],{"class":162},[107,924,167],{"class":166},[107,926,195],{"class":194},[107,928,198],{"class":166},[107,930,931],{"class":117},"\"",[107,933,902],{"class":194},[107,935,931],{"class":117},[107,937,198],{"class":166},[107,939,195],{"class":194},[107,941,209],{"class":166},[93,943,945],{"id":944},"salida-esperada","Salida esperada",[26,947,948,957],{},[29,949,950],{},[32,951,952,954],{},[35,953,559],{},[35,955,956],{},"Salida",[42,958,959,971,981,992,1003],{},[32,960,961,966],{},[47,962,963],{},[21,964,965],{},"ft_putnbr(0)",[47,967,968],{},[21,969,970],{},"0",[32,972,973,977],{},[47,974,975],{},[21,976,895],{},[47,978,979],{},[21,980,681],{},[32,982,983,988],{},[47,984,985],{},[21,986,987],{},"ft_putnbr(-42)",[47,989,990],{},[21,991,864],{},[32,993,994,999],{},[47,995,996],{},[21,997,998],{},"ft_putnbr(2147483647)",[47,1000,1001],{},[21,1002,778],{},[32,1004,1005,1010],{},[47,1006,1007],{},[21,1008,1009],{},"ft_putnbr(-2147483648)",[47,1011,1012],{},[21,1013,764],{},[93,1015,1017],{"id":1016},"errores-típicos","Errores típicos",[26,1019,1020,1033],{},[29,1021,1022],{},[32,1023,1024,1027,1030],{},[35,1025,1026],{},"Mensaje o síntoma",[35,1028,1029],{},"Causa",[35,1031,1032],{},"Solución",[42,1034,1035,1049,1070,1089,1105],{},[32,1036,1037,1040,1046],{},[47,1038,1039],{},"los dígitos salen al revés",[47,1041,1042,1043,1045],{},"usaste un ",[21,1044,685],{}," sin recursión",[47,1047,1048],{},"imprime después de la llamada",[32,1050,1051,1056,1064],{},[47,1052,1053,1055],{},[21,1054,755],{}," imprime basura",[47,1057,1058,1059,1061,1062],{},"hiciste ",[21,1060,782],{}," en un ",[21,1063,23],{},[47,1065,1066,1067,1069],{},"pasa a ",[21,1068,263],{}," primero",[32,1071,1072,1077,1083],{},[47,1073,1074],{},[21,1075,1076],{},"warning: comparison of unsigned…",[47,1078,1079,1080,1082],{},"comparaste un ",[21,1081,263],{}," con 0",[47,1084,1085,1086,1088],{},"no hace falta: ",[21,1087,263],{}," nunca es negativo",[32,1090,1091,1096,1099],{},[47,1092,1093,1094],{},"falta el ",[21,1095,439],{},[47,1097,1098],{},"no trataste los negativos",[47,1100,1101,1102,1104],{},"imprime ",[21,1103,427],{}," antes",[32,1106,1107,1110,1113],{},[47,1108,1109],{},"se cuelga",[47,1111,1112],{},"la recursión no reduce el número",[47,1114,1115],{},"divide entre 10",[93,1117,1119],{"id":1118},"comprobarlo","Comprobarlo",[98,1121,1125],{"className":1122,"code":1123,"language":1124,"meta":103,"style":103},"language-sh shiki shiki-themes github-light github-dark","cat > \u002Ftmp\u002Fmain.c \u003C\u003C'EOF'\n#include \u003Cunistd.h>\n\nvoid    ft_putnbr(int nb);\n\nint main(void)\n{\n    ft_putnbr(0);\n    write(1, \"\\n\", 1);\n    ft_putnbr(42);\n    write(1, \"\\n\", 1);\n    ft_putnbr(-42);\n    write(1, \"\\n\", 1);\n    ft_putnbr(2147483647);\n    write(1, \"\\n\", 1);\n    ft_putnbr(-2147483648);\n    write(1, \"\\n\", 1);\n    return (0);\n}\nEOF\ncc -Wall -Wextra -Werror ex07\u002Fft_putnbr.c \u002Ftmp\u002Fmain.c -o \u002Ftmp\u002Fex07\n\u002Ftmp\u002Fex07\n","sh",[21,1126,1127,1144,1149,1153,1158,1162,1167,1171,1176,1181,1186,1190,1195,1199,1204,1208,1213,1217,1222,1226,1231,1256],{"__ignoreMap":103},[107,1128,1129,1132,1135,1138,1141],{"class":109,"line":110},[107,1130,1131],{"class":162},"cat",[107,1133,1134],{"class":113}," >",[107,1136,1137],{"class":117}," \u002Ftmp\u002Fmain.c",[107,1139,1140],{"class":113}," \u003C\u003C",[107,1142,1143],{"class":117},"'EOF'\n",[107,1145,1146],{"class":109,"line":121},[107,1147,1148],{"class":117},"#include \u003Cunistd.h>\n",[107,1150,1151],{"class":109,"line":128},[107,1152,125],{"emptyLinePlaceholder":124},[107,1154,1155],{"class":109,"line":135},[107,1156,1157],{"class":117},"void    ft_putnbr(int nb);\n",[107,1159,1160],{"class":109,"line":141},[107,1161,125],{"emptyLinePlaceholder":124},[107,1163,1164],{"class":109,"line":147},[107,1165,1166],{"class":117},"int main(void)\n",[107,1168,1169],{"class":109,"line":153},[107,1170,183],{"class":117},[107,1172,1173],{"class":109,"line":180},[107,1174,1175],{"class":117},"    ft_putnbr(0);\n",[107,1177,1178],{"class":109,"line":186},[107,1179,1180],{"class":117},"    write(1, \"\\n\", 1);\n",[107,1182,1183],{"class":109,"line":212},[107,1184,1185],{"class":117},"    ft_putnbr(42);\n",[107,1187,1188],{"class":109,"line":218},[107,1189,1180],{"class":117},[107,1191,1192],{"class":109,"line":223},[107,1193,1194],{"class":117},"    ft_putnbr(-42);\n",[107,1196,1197],{"class":109,"line":228},[107,1198,1180],{"class":117},[107,1200,1201],{"class":109,"line":234},[107,1202,1203],{"class":117},"    ft_putnbr(2147483647);\n",[107,1205,1206],{"class":109,"line":240},[107,1207,1180],{"class":117},[107,1209,1210],{"class":109,"line":246},[107,1211,1212],{"class":117},"    ft_putnbr(-2147483648);\n",[107,1214,1215],{"class":109,"line":251},[107,1216,1180],{"class":117},[107,1218,1219],{"class":109,"line":274},[107,1220,1221],{"class":117},"    return (0);\n",[107,1223,1224],{"class":109,"line":279},[107,1225,215],{"class":117},[107,1227,1228],{"class":109,"line":296},[107,1229,1230],{"class":117},"EOF\n",[107,1232,1233,1236,1239,1242,1245,1248,1250,1253],{"class":109,"line":312},[107,1234,1235],{"class":162},"cc",[107,1237,1238],{"class":194}," -Wall",[107,1240,1241],{"class":194}," -Wextra",[107,1243,1244],{"class":194}," -Werror",[107,1246,1247],{"class":117}," ex07\u002Fft_putnbr.c",[107,1249,1137],{"class":117},[107,1251,1252],{"class":194}," -o",[107,1254,1255],{"class":117}," \u002Ftmp\u002Fex07\n",[107,1257,1258],{"class":109,"line":336},[107,1259,1260],{"class":162},"\u002Ftmp\u002Fex07\n",[17,1262,1263],{},"Salida:",[98,1265,1270],{"className":1266,"code":1268,"language":1269,"meta":103},[1267],"language-text","0\n42\n-42\n2147483647\n-2147483648\n","text",[21,1271,1268],{"__ignoreMap":103},[93,1273,1275],{"id":1274},"descargar","Descargar",[1277,1278,1279],"ul",{},[1280,1281,1282],"li",{},[1283,1284,1286],"a",{"href":1285,"download":64},"..\u002Fcode\u002Fft_putnbr.c",[21,1287,64],{},[1289,1290,1291],"style",{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":103,"searchDepth":121,"depth":121,"links":1293},[1294,1295,1308,1310,1311,1312,1313,1314],{"id":95,"depth":121,"text":96},{"id":482,"depth":121,"text":483,"children":1296},[1297,1298,1299,1300,1301,1302,1303,1304,1305,1306],{"id":487,"depth":128,"text":490},{"id":503,"depth":128,"text":506},{"id":516,"depth":128,"text":519},{"id":540,"depth":128,"text":543},{"id":591,"depth":128,"text":594},{"id":692,"depth":128,"text":695},{"id":701,"depth":128,"text":704},{"id":710,"depth":128,"text":713},{"id":719,"depth":128,"text":722},{"id":735,"depth":128,"text":1307},"else y put_unsigned((unsigned int)nb);",{"id":751,"depth":121,"text":1309},"El problema de INT_MIN",{"id":888,"depth":121,"text":889},{"id":944,"depth":121,"text":945},{"id":1016,"depth":121,"text":1017},{"id":1118,"depth":121,"text":1119},{"id":1274,"depth":121,"text":1275},"Cualquier int, incluido INT_MIN, con recursión y conversión a unsigned.","md",{},"\u002Fex07",{"title":5,"description":1315},"ex07","-EbbWOYqyOeAy5-4oSYchC64GwABr3TwOvXW98TWjqQ",1793539815759]