Какова цель помещения типа данных в квадратные скобки перед вычислением?

Извините за вопрос новичка, но я нигде не могу найти ответ на этот вопрос, вероятно, потому, что я не уверен, что искать в этой проблеме!

Мне просто интересно, в чем причина включения типа данных в квадратные скобки перед вычислением? В приведенном ниже коде все переменные уже объявлены в верхней части программы, поэтому я не уверен, какова причина / эффект включения (float). acc_y и angle_pitch_acc были объявлены как float, а acc_total_vector был объявлен как long

angle_pitch_acc = asin((float)acc_y/acc_total_vector)* 57.296;

Спасибо!

, 👍0


1 ответ


Лучший ответ:

2

Это называется кастинг. Это временно изменяет тип данных. В данном случае он используется для преобразования целочисленного типа в тип с плавающей запятой, что означает, что весь расчет выполняется с использованием математики с плавающей запятой. Однако acc_y предположительно уже является плавающей точкой, но, возможно, в то время, когда автор писал эту строку, этого не было. Может быть, все, как это часто бывает в программах, эволюционировало. Только автор знает.

,

ОП написал, что "acc_y" объявлен как float. Таким образом, я думаю, что расчет уже был бы с плавающей запятой, @chrisl

@chrisl Я перестал читать на "Интересно...", @Majenko

Хорошо, спасибо, это имеет смысл., @Elliot P