Estoy trabajando con una función de terceros que me devuelve el valor 100729898. Si este valor se convierte a HEX, se obtiene 601042A, que según la documentación de la función de terceros se corresponde con 4 valores, el 6, el 01, el 04 y el 42, o sea, 6.01.04.42
Según la info de dicha función, este es el código que usan para presentarlo en C++:
- Code: Select all Expand view RUN
DWORD dwVersion = NET_DVR_GetSDKBuildVersion();
csTemp.Format("HCNetSDK V%d.%d.%d.%d", (0xff000000 & dwVersion)>>24,\
(0x00ff0000 & dwVersion)>>16,\
(0x0000ff00 & dwVersion)>>8,\
(0x000000ff & dwVersion));
//%.d,0x0000ff & dwVersion,build NO. do not expose
O esta otra función, que me devuelve 393217, y se supone que debe de interpretarse como 20200527, mediente este código en C++:
- Code: Select all Expand view RUN
void Demo_SDK_Version()
{
unsigned int uiVersion = NET_DVR_GetSDKBuildVersion();
char strTemp[1024] = { 0 };
sprintf_s(strTemp, "HCNetSDK V%d.%d.%d.%d\n", \
(0xff000000 & uiVersion) >> 24, \
(0x00ff0000 & uiVersion) >> 16, \
(0x0000ff00 & uiVersion) >> 8, \
(0x000000ff & uiVersion));
printf(strTemp);
}
¿Hay algo similar en Clipper/Fivewin o funciones específicas para trabajar con números binarios?
Gracias.