Új hozzászólás Aktív témák

  • Szirty

    őstag

    válasz qwaqay1 #2619 üzenetére

    Helló qwaqay1!

    Az a körülbelül 32000 valószínűleg pontosan 32767 lesz.
    Ennek az integer típusú számábrázolás az oka. Te egy 16 bites értéket írsz az analóg kimenet regiszterébe.
    16 biten 65536 féle bit kombináció lehetséges. Hogy negatív érték is ábrázolható legyen, kitalálták az integer számábrázolást, ami az előbbi tartományt két részre osztja:
    Egy pozitív tartományra: 0..+32767
    és egy negatívra: 0..-32768
    Bizonyos okokból (aminek utána lehet nézni ha részletesen érdekel) a negatív tartomány kettes komplemens alapú, ami kb. annyit tesz, hogy a negatív szám abszolút értékének bináris mintája azonos a hozzá tartozó pozitív érték inverzével.
    Ha megpróbálsz 32767-nél nagyobb értéket beleírni, akkor túlcsordul és az érték negatív lesz (pl.: 32777 -32759-nek felel meg).

Új hozzászólás Aktív témák