Genellikle robotlarımızda bir şeyler yapmak için mikrodenetleyiciler kullanırız, ancak ondalık olarak bazı hesaplamalar yapmamız gerekir. Kayan nokta değişkenleri kullanmak çok yavaştır, çünkü yazılım kayan nokta kitaplığı otomatik olarak dahil edilir (üst düzey bir mikro denetleyiciniz yoksa). Bu nedenle, genellikle sabit nokta aritmetiği kullanıyoruz.
Bunu her yaptığımda, bir tamsayı kullanıyorum ve ondalık basamağın nerede olduğunu hatırlıyorum. Bununla birlikte, özellikle hesaplamalar ondalık noktanın farklı bir yerde olduğu değişkenleri içerdiğinde, her şeyin tutarlı olduğundan emin olmak için biraz özen gösterir.
Bir sabit nokta atan2 işlevi uyguladım, ancak sınırlı hassasiyetin her son damlasını (16 bit) sıkıştırmaya çalıştığım için, genellikle ondalık noktanın nerede olduğunu tanımladım ve değiştirdiğimde değişecekti. Buna ek olarak, yarı sabit bir tablo olarak kendilerinin bir yerde zımni ondalık noktası olan bazı sabitlerim olurdu.
Daha iyi bir yol olup olmadığını bilmek istiyorum. Sabit nokta değişkenlerinin kullanımını basitleştiren, karışık değişkenler arasında çarpma ve bölmeyi kolaylaştıran ve ondalık sayıların veya sabit ifadelerin bildirilmesine izin veren, ancak derleme sırasında istenen sabit nokta gösterimine otomatik olarak dönüştürülebilen bir kütüphane veya makro seti var mı? zaman?