Je travaille sur une extraction d'échantillon de fichier wave et je suis coincé avec ma petite partie. J'ai des données de 24 bits extraites d'un échantillon, disons AB0293
(MSB étant 1). J'utilise une variable int 32 bits pour stocker cela. Je suis incapable de comprendre comment faire cela. Qu'arriverait-il au MSB de cet exemple au format 32 bits? Et qu'arriverait-il aux bits restants?comportement du numéro signé en C
Les déclarations sont:
int32_t in2[10],in1[10];
FILE *fp1,*fp2;
fread(&in2[0],1,index1, fp1);//index1=3
//value of in2[0] after this operation is 0xAB0293(-ve value of 24 bits)
fread(&in1[0],1,index1, fp2);
//value of in1[0] after this operation is 0xA00232(-ve value of 24 bits)
in1[0]=in1[0]-in2[0];//this is a 32 bit data operation(because of which i am getting wrong answer)
quel compilateur et quelle architecture? Utilisez-vous 'uint'? –
Qu'est-ce que c'est «AB0293»? Aussi, avez-vous du code? –
Il est normal de garder 8 bits restants = 0. Et ne comprends pas quel est le problème? – i486