El valor máximo doble escrito en lenguaje C.
Los 52 dígitos inferiores son el número base, así que complete todos los 1 aquí.
El índice de 11 bits es el índice, y el índice de 11 bits puede representar -1024 ~ 1023. Se estipula que todos los bits se suman a 1023, por lo que el índice aquí se llena con 2046 bits.
El bit más significativo es el signo, 0 significa +.
El código de prueba es el siguiente:
#Contiene? & ltstdio.h & gt? //¿para? Función de impresión
#Contiene? & ltstring.h & gt//¿Para? memcpy
#¿Definición? ¿MAX_BASE? (0xffffffffffffffLL)? //52?bits? Conceptos básicos
¿#Definición? ¿MAX_POW? (2046LL?& lt& lt?52) //12?bits? pow(base?*?2^pow)
#Definición? ¿SIGN_BIT? (0x1LL?& lt& lt?63)
¿No es válido? printBits(long?龙?ll)
{
龙? ¿dragón? ¿Máscara facial? =?1;
for(int?i=sizeof(long?龙)?*?8?-?1;?i>=0;?i-)
{
printf("%1d ", (ll?& amp? máscara?& lt& lt?i)?1:?0);
}
printf ("\n");
}
int? Señor()
{
¿Dragón? ¿dragón? ¿ll? =?0;
ll? |=?MAX_POW
ll? |=?MAX _ BASE
imprimir bits(ll);
¿Doble? d;
memcpy(& d,?&ll,?sizeof(ll));
printf("¿Máximo? ¿Doble? Es decir:?%e\n ", d) ;
todos? |=?SIGN _ BIT
memcpy(& d,?& ampll,?sizeof(ll));
printf("¿Mínimo? ¿Doble? Es decir:?% e\ n ", d);
¿Volver? 0;
}