Найти тему
Rust.rs

Rust - Типы связанные с числами.

Оглавление

Числа служат для подсчета данных, только у этих типов, есть свои отличия.

1. Целочисленный со знаком i8, i16, i32, i64, isize.

Могут быть и положительными и отрицательными. (Примеры: от .. -3, -2, -1, 0, 1, ..)

2. Целочисленный без знака u8, u16, u32, u64, usize.

Для количественных, когда данные не могут быть меньше нуля. (Примеры: от 0, 1, 2, 3, 4, ..)

3. Числа с плавающей запитой f32, f64

Обязательно есть знак после запятой (Примеры: 1.0, 1.11, 1.001)

Взаимодействия через арифметические операторы

+ - / * % Все Операторы

Мы получаем результат действий оператора в переменную `result` - ту объяснения из лишний как это работает.

`%` - Остаток от деления, только целочисленные выводят либо 0 или 1. если остаток есть то 1, если нет то 0.

Взаимодействия через методы.

Продолжим арифметические операции...

я нашёл метод возведение в степень i32::pow(), Использую методы мы явно укажем тип, если не указали тип переменных. (5 в степени 2 ровно 25. т.е. 5*5.).

i32::pow(a, b); - это метод pow(), для типа i32. принимает два аргумента число которое нужно возвести в степень (self) и саму степень (exp) и получаем результат в `result`.

Во втором примере мы создаем переменную как объект a и задаем тип i32, чтобы компилятор мог сам найти методы объекта типа i32.

так как мы позиционируем переменную как изменение объекта, то запись a.pow(b). изменяем объект a методом .pow(b), тот же результат получаем в a.

в первом случае мы создаем новую переменную `result`, в во втором изменяем `a`.

Аналогично для других типов...

Список методов, которые могут пригодится, при работе с числами.

1. Возведение в степень i32::pow(), i64::pow(), f32::powf() f64::powf()

2. Квадратный корень f32::sqrt(), f64::sqrt()

`as` или преобразование числовых типов.

Нельзя использовать разные типы - это ошибка. Даже если i32 и i64. as, позволяющее очень легко преобразовывать числовые типы, но преобразовывать нужно каждую переменную. При этом следить о пределах во избежании потери данных. Eсли нужно преобразование в String то используйте метод to_string(), или макрос format!("{}", a)

например: let x = f64::sqrt(16 as f64) as i32 , я не нашёл метод для квадратного корня на i32.

Выводы

Мы поработали с числовыми данными, после чего мы можем работать с любыми арифметическими операциями, через операторы и методы.