Skip to content

Latest commit

 

History

History
47 lines (32 loc) · 1.71 KB

math.md

File metadata and controls

47 lines (32 loc) · 1.71 KB
title actions material
Математические операции
Проверить
Подсказать
editor
language startingCode answer
sol
pragma solidity ^0.4.19; contract ZombieFactory { uint dnaDigits = 16; // Начало здесь }
pragma solidity ^0.4.19; contract ZombieFactory { uint dnaDigits = 16; uint dnaModulus = 10 ** dnaDigits; }

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

  • Сложение: x + y
  • Вычитание: x - y,
  • Умножение: x * y
  • Деление: x / y
  • Модуль и остаток от деления: x % y (например, 13 % 5 будет равно 3, если разделить 13 на 5, в остатке 3)

Solidity поддерживает экспоненциальные операции exponential operator — возведение в степень (например "x в степени y", x^y):

uint x = 5 ** 2; // 5 в квадрате = 25

Проверь себя

Чтобы убедиться, что ДНК зомби составляет всего 16 символов, создадим еще один uint со значением 10^16. Таким образом, мы сможем позже использовать оператор модуля % для сокращения целого числа до 16 цифр.

  1. Создай uint под названием dnaModulus, и задай его равным 10 в степени dnaDigits.