Soildity之運算子(2)

2021-09-14 07:37:19 字數 695 閱讀 5390

每種程式語言都有其運算子,soildity也不例外,接下來介紹一下soildity的運算子。
描述

運算子後自增和後自減

++,–

new運算子

new<>

圓括號()

前自增和前自減

++,–

delete運算子

delete

邏輯非!

按位非~

目運算**

乘法,除法,取模

*,/,%

加法和減法

+,-移位

<<,>>

按位與&

按位異或

^按位或

不等運算

<、>、<=、>=

相等運算

==、!=

邏輯與&&

邏輯非三目運算子

a = ? b : c

賦值運算子

=逗號運算子

,上述所有運算子按照優先順序從高到低進行介紹的。其中new為申請乙個空間去儲存資料如:

a = new bytes(32);

delete並不是c++與new相對應的記憶體釋放運算。在soildity中delete是乙個賦值運算,表示對變數賦初始值,如

uint a;delete a 等效於 a = 0

其他型別的運算子功能與c,c++等語言一致,在這不做一一介紹。

運算子之位運算子

右移 負數 無符號右移 或 異或 與 非 說明 位運算子都是作用在二進位製上的 比如 n 50 n 1 結果是多少?100 n 2 結果是多少?200 n 5 結果是多少?1600 為什麼會是這樣的呢?運算的邏輯如下 1,n 50 2,n的二進位制是 0011 0010 3,0011 0010 左移...

C 之運算子過載 2

上一節主要講解了c 裡運算子過載函式,在看了單目運算子 過載的示例後,也許有些朋友會問這樣的問題。自增運算子在c或c 中既可以放在運算元之前,也可以放在運算元之後,但是前置和後置的作用又是完全不同的 q前置運算子 先加1,再賦值 後置運算子 先賦值,再加1 那麼要怎麼過載它們,才可以有效的區分開來呢...

C 之運算子過載 2

上一節主要講解了c 裡運算子過載函式,在看了單目運算子 過載的示例後,也許有些朋友會問這樣的問題。自增運算子在c或c 中既可以放在運算元之前,也可以放在運算元之後,但是前置和後置的作用又是完全不同的 q前置運算子 先加1,再賦值 後置運算子 先賦值,再加1 那麼要怎麼過載它們,才可以有效的區分開來呢...