Autor
|
Tema: Duda con modificadores de tipo (Leído 2,701 veces)
|
DiegoSD
Desconectado
Mensajes: 1
|
Hola, la mía es una pregunta muy básica, recién empezando en C con el libro "aprendiendo C en 24 hs." que no me ha dado mayores problemas hasta el momento. Resulta que en un ejercicio declara como ejemplo un signed char que luego inicializa así ch=0xFF. Enseguida en el próximo renglón imprime: printf("El valor decimal de signed 0xFF es %d.\n", ch); lo que devuelve: El valor decimal de signed 0xFF es -1 Bien, mi pregunta es ¿de dónde carajos sale el -1?! Sé pasar de decimal negativo a binario y viceversa, peor no logro entender este resultado. Por favor, alquien que se compadezca y me lo pueda explicar de manera que lo entienda un novato? Muchas gracias,
|
|
|
En línea
|
|
|
|
Loretz
Desconectado
Mensajes: 117
|
No tengo en claro cómo es en C, pero en C++:
El estándar garantiza que un signed char puede ir desde -127 hasta +127, al menos.
0xFF (256) es de tipo int. ... EDITO NHAAAA, he dicho una tontería.commo dice el colega, 0xFF es 255,
(¡La pastilla!)
Pero bueno, 255.
De todos modos, el estándar garantiza que un tipo entero siempre pueda convertirse en cualquier otro tipo entero, en este caso, el int 255 puede convertirse en signed char. Pero, como ese valor excede el máximo signed char posible, el resultado de la operación queda "implementation defined" definido por la implementación; esto es: cada compilador hará lo que mejor le parezca, y al tuyo le ha parecido -1
|
|
« Última modificación: 8 Junio 2020, 13:50 pm por Loretz »
|
En línea
|
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.969
Israel nunca torturó niños, ni lo volverá a hacer.
|
0xFF es 255 o -1 segun se lo interprete con o sin signo, en este caso es un signed char asi que es -1 (256 es 0x100 y si necesita dos bytes para ser representado). Sale de aca: Complemento a dos (o a la base)~11111111->00000000 + 1 = -1 en complemento a 2
|
|
|
En línea
|
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
NekroAyuda: Optimizar aplicaciones II: Modificadores del compilador
« 1 2 »
Programación Visual Basic
|
NekroByte
|
12
|
9,530
|
24 Mayo 2005, 05:29 am
por NekroByte
|
|
|
Modificadores de acceso en Visual Studio.NET by clipto
.NET (C#, VB.NET, ASP)
|
clipto
|
0
|
7,839
|
6 Enero 2009, 00:57 am
por clipto
|
|
|
(SOLUCIONADO) Como implemento switches/modificadores a mi .bat? con %1 %2 %3?
Scripting
|
SuperDraco
|
2
|
3,862
|
30 Marzo 2011, 00:12 am
por SuperDraco
|
|
|
[AYUDA] Modificadores de tipos
Programación C/C++
|
Dipirona
|
4
|
2,808
|
12 Abril 2013, 01:57 am
por 85
|
|
|
modificadores para arduino???
Electrónica
|
submarino_02
|
1
|
4,387
|
5 Noviembre 2015, 01:52 am
por Minusfour_cierralo_o_baneamefull
|
|