Сегодня мы продолжаем серию уроков по типам данных. Это второй урок, на котором мы поговорим о логическом или булевом типе данных, а также обсудим числа.
Solidity - это статически типизированный язык, что означает, что мы должны указать тип переменных или констант, которые они могут хранить. Это отличается от JavaScript и Python, но обеспечивает такие преимущества, как немедленная обратная связь с компилятором и хранение в блокчейне.
Понимание логических значений (Boolean) Переменные типа В программировании переменные логического типа могут иметь два значения: true или false. Компьютеры работают с двоичной логикой, поэтому она либо черная, либо белая - без промежуточных значений. В более сложных случаях для представления значений истинности используется нечеткая логика.
Работа с логическими значениями При создании переменной логического типа у нее уже есть значение по умолчанию, которое может быть явно присвоено при создании контракта. Функции также могут принимать логические значения в качестве аргументов и создавать временные переменные в пределах области действия функции.
В дискретной математике логические операции типа AND, OR и NOT применяются к логическим значениям. Результат логической операции 'AND' является истинным, только если оба операнда равны true; в противном случае он возвращает false. Аналогично, операция 'OR' возвращает значение true, если хотя бы один операнд имеет значение true. Унарный оператор 'NOT', обозначаемый восклицательным знаком (!), возвращает противоположное значение своего операнда.
В Solidity работа с целыми числами проста. Однако поддержка дробных чисел или десятичных знаков в настоящее время ограничена и может измениться в будущих версиях.
Разница между целыми числами со знаком и без знака заключается в наличии знака. Целые числа без знака, такие как 5, не имеют знака и по своей сути положительны. Они обычно используются при работе с финансовыми данными, чтобы предотвратить отправку отрицательных значений.
Понимание размерности В Unity каждый тип данных имеет свое собственное измерение, которое указывает максимально допустимое число. Например, когда мы пишем 'uint8', это означает, что мы используем 8 бит для хранения числа. Это позволяет нам представлять числа от 0 до 255.
Выбор подходящих типов данных Мы можем выбрать минимальное значение для нашей переменной, используя 'uint8' (который хранит значения от 0 до 255), а затем увеличить его с шагом 8 до uint256, если необходимо. Это помогает оптимизировать использование памяти и полезно для организации циклов со счетчиками или работы с большими объемами данных.
Целые числа со знаком, или int, не особенно сложны. Важно помнить, что когда дело доходит до целого числа со знаком (int), ситуация, по сути, такая же. Чтобы объявить целое число со знаком, мы просто используем 'int'. Мы можем присваивать отрицательные значения, поскольку информация хранится с использованием знаков. Размер целого числа со знаком изменяется от 8 до 256 с шагом 8.
В двоичном формате данные хранятся с использованием битов. Каждый бит может хранить информацию о знаке (положительном или отрицательном) и величине числа. Наибольшее число, которое может быть сохранено с помощью 8 бит, равно 128, но поскольку у нас есть информация о знаке, наш диапазон становится от -128 до +127.
Объясняется разница между типами данных int и float. Математические операции, такие как сложение, вычитание, умножение, деление, демонстрируются на примерах. Подчеркивается концепция округления при делении целых чисел. Также рассматриваются возведение в степень с использованием символа звездочки и вычисление остатков с использованием оператора по модулю.
В видео обсуждается концепция определения минимальной и максимальной размерности salt docks. В нем объясняется, как рассчитать минимальные и максимальные значения для определенного типа данных, используя такие переменные, как "вы" и "общедоступные". Процесс включает в себя сохранение состояния, компиляцию кода, удаление контрактов, вызов функций для отслеживания изменений в блокчейне.
Понимание размерности Исследуем концепцию размерности и ее влияние на хранение данных. Обсуждаем ограничения и границы при работе с максимально допустимыми значениями, такими как 255 в данном случае.
Обработка ошибок в смарт-контрактах Изучаем обработку ошибок в смарт-контрактах, уделяя особое внимание сценариям, когда транзакции превышают предопределенные пределы. Объясняем, как "отменить" используется для предотвращения несанкционированного увеличения сверх максимально допустимого значения.