Raspberry Pi – Piattaforma di test per algoritmi di visione (4/4): rappresentazione in floating point

PAROLE CHIAVE: , , ,


Dovendo implementare algoritmi di riconoscimento per il posizionamento, una domanda che ci siamo posti è come vengano rappresentati i numeri con virgola su questa piattaforma. RPi adotta come processore il SoC BCM2835 (architettura ARMv6) che integra un processore della famiglia ARM11 ed un coprocessore multimediale. Il processore supporta i calcoli floating point nella sotto-architettura Vector Floating-point v2 (VFPv2), implementata in hw in modo da garantire un’elevata velocità di esecuzione.

Esiste uno standard che definisce come devono essere rappresentati i numeri per il calcolo in virgola mobile: IEEE 754. VFPv2 supporta due tipologie di numeri appartenenti a questo standard:

  • Binary32, single-precision (in C float);
  • Binary64, double-precision (in C, double).

 

Nella rappresentazione single-precision floating point:

  • la mantissa è costituita da 23 bits (+1 relativo l’intero per i numeri normalizzati);
  • l’esponente da 8 bits (il range dell’esponente è compreso tra -126 e 127).

 

Nella rappresentazione double-precision floating point:

  • la mantissa è costituita da 53 bits (+1);
  • l’esponente da 11 bits (il range dell’esponente è compreso tra -1022 e 1023).

Rispondi