169 похожих чатов

Hi. Is it safe to do arithmetic operations with different

uint? For example uint256 with uint16 or better to use one type?

9 ответов

67 просмотров

Unsigned integers (uint) are similar to integers, but they can only store positive values. Like integers, unsigned integers can be declared with a number of bits, such as uint8, uint16, uint32, uint64, and so on, up to uint256.

It depends what you're trying to do and what you expect to be the maximum uint in your arithmetic's. Using smaller uint's are more gas efficient.

Bogdan- Автор вопроса
SPooCK
It depends what you're trying to do and what you e...

for example this function function calculate(uint256 a, uint16 b) public view returns (uint256 memory) { uint256 result = a * b - a; return result; } is it safe?

Bogdan
for example this function function calculate(uint...

That would depend on what you're calculating there, if its Token amounts, NO its not. For Tokens minimum use uint128.

Bogdan- Автор вопроса

What are you multiplying the Token amount with? I suppose this is a percentage? And always close your logic in brackets for any case uint256 result = (a * b) - a;

Bogdan- Автор вопроса
SPooCK
What are you multiplying the Token amount with? I ...

yes, it's like the loan calculator. User enters the amount of tokens and the percentage

Bogdan
yes, it's like the loan calculator. User enters th...

Then its fine, if you dont expect "b" to ever go over 65,535, should work as good and even a soft stopper for anyone adding anything above.

Похожие вопросы

Обсуждают сегодня

Коллеги, я тут для личных нужд пошел ставить MQTT сервер, пощупал mosquitto, но ужаснулся отсутствию такой банальности, как HTTP API для посмотреть список топиков. А тут что,...
Maksim Lapshin
13
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
#include <stdio.h> #include <stdlib.h> #include <time.h> void mass_first_generate(int mass[5][7]) {     for (int N = 0; N < 5; N++) {         for (int A = 0; A < 7; A++) {   ...
Чувак
6
Всем привет! Решаю 99 OCaml Problems и столкнулся со следующей проблемой (прошу палками не забивать, я OCaml практически не трогал до этого момента): open OUnit2 let create_...
К|/|pи/\/\ 6е3yглbIи
2
https://www.linkedin.com/posts/ugama-benedicta-kelechi-codergirl-103041300_mobiledevelopment-fluttertraining-handsonlearning-activity-7263445699227254784-IdHB?utm_source=share...
CoderGirl
16
Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
возможно ли как-то передать в электрон или таури медиа поток с рендера 2д движка? двиг запускается как dll, а дальше надо как-то отправлять рендер кодировать не подходит, зр...
Kyle Nekto
7
Точно, оно. У тебя там имена потоков выставляются?
Александр (Rouse_) Багель
11
Помогите пожалуйста. Делаю систему плагинов. Проблема сейчас в такая: плагины загружаются в основном потоке. FLibHandle := SafeLoadLibrary(FFileName) Но нужно еще выполнить фу...
Илья 🤣
10
объясните пожалуйста, почему функция не работает должным образом? вроде должно брать активное окно сравнивать его размер с размером экрана, и если есть совпадение = true прове...
JF
12
Карта сайта