go語(yǔ)言=符號(hào),go語(yǔ)言符號(hào)

【10】Go語(yǔ)言運(yùn)算符及運(yùn)算符的優(yōu)先級(jí)

運(yùn)算符用于在程序運(yùn)行時(shí)執(zhí)行數(shù)學(xué)或邏輯運(yùn)算。

成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供中山網(wǎng)站建設(shè)、中山做網(wǎng)站、中山網(wǎng)站設(shè)計(jì)、中山網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、中山企業(yè)網(wǎng)站模板建站服務(wù),十年中山做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

1.算術(shù)運(yùn)算符

Go 語(yǔ)言的算術(shù)運(yùn)算符如圖,假設(shè)A值為10,B值為20。

2.關(guān)系運(yùn)算符

Go 語(yǔ)言的關(guān)系運(yùn)算符如圖,假設(shè)A值為10,B值為20。

3.邏輯運(yùn)算符

Go 語(yǔ)言的邏輯運(yùn)算符如圖。假定A值為True,B值為False。

4.位運(yùn)算符

位運(yùn)算符對(duì)整數(shù)在內(nèi)存中的二進(jìn)制位進(jìn)行操作。

位運(yùn)算符比一般的算術(shù)運(yùn)算符速度要快,而且可以實(shí)現(xiàn)一些算術(shù)運(yùn)算符不能實(shí)現(xiàn)的功能。如果要開發(fā)高效率程序,位運(yùn)算符是必不可少的。

Go 語(yǔ)言的位運(yùn)算符如圖。假定 A = 60,B = 13,其二進(jìn)制數(shù)轉(zhuǎn)換如下。

A = 0011 1100

B = 0000 1101

5.賦值運(yùn)算符

Go 語(yǔ)言的賦值運(yùn)算符如圖。

6.其他運(yùn)算符

Go 語(yǔ)言的其他運(yùn)算符如圖。

運(yùn)算符的優(yōu)先級(jí)

所謂優(yōu)先級(jí),就是當(dāng)多個(gè)運(yùn)算符出現(xiàn)在同一個(gè)表達(dá)式中時(shí),先執(zhí)行哪個(gè)運(yùn)算符。

go語(yǔ)言操作符 ^ 和 &^

很多語(yǔ)言都是采用 ~ 作為按位取反運(yùn)算符,Go 里面采用的是 ^ 。

如果作為二元運(yùn)算符,^ 表示按位異或,即:對(duì)應(yīng)位相同為 0,相異為 1。

操作符 ^,按位置零,例如:z = x ^ y,表示如果 y 中的 bit 位為 1,則 z 對(duì)應(yīng) bit 位為 0,否則 z 對(duì)應(yīng) bit 位等于 x 中相應(yīng)的 bit 位的值。

對(duì)于有符號(hào)的整數(shù)來(lái)說(shuō),是按照補(bǔ)碼進(jìn)行取反操作的(快速計(jì)算方法:對(duì)數(shù) a 取反,結(jié)果為 -(a+1) ),對(duì)于無(wú)符號(hào)整數(shù)來(lái)說(shuō)就是按位取反

計(jì)算過(guò)程

以3為例? 3在內(nèi)存中補(bǔ)碼為 0*** 0011

取反? ? ? ? ? ? 1*** 1100

-1操作? ? ? ? ? 1*** 1011

除符號(hào)位取反? ? 1*** 0100 結(jié)果為-4

-------------------------------------------

以9為例 9在內(nèi)存中補(bǔ)碼為 0*** 1001

取反? ? ? ? ? ? 1*** 0110

-1操作? ? ? ? ? 1*** 0101

除符號(hào)位取反? ? 1*** 1010 結(jié)果為-10

-------------------------------------------

以-5為例 -5在內(nèi)存中為的補(bǔ)碼為 1*** 1011

為什么呢

-5源碼? ? ? ? ? 1*** 0101

除符號(hào)取反? ? ? 1*** 1010

+1操作? ? ? ? ? 1*** 1011

-------------------------------------------

那么-5取反怎么算

補(bǔ)碼 1***1011取反為 0***0100

因?yàn)榉?hào)位為0,所以是正數(shù)了,正數(shù)的補(bǔ)碼反碼源碼都是一個(gè),所以是4

===================================

再看-1

-1源碼? ? ? ? ? 1*** 0001

除符號(hào)取反? ? ? 1*** 1110

+1操作? ? ? ? ? 1*** 1111

補(bǔ)碼 1*** 1111 取反為 0*** 0000

因?yàn)榉?hào)位為0,所以是正數(shù)了,正數(shù)的補(bǔ)碼反碼源碼都是一個(gè),所以是0

go語(yǔ)言取反輸出的例子看這里

Go語(yǔ)言中 短聲明變量”:=”為什么不能放在函數(shù)外?

放在函數(shù)外直接使用

var name string = "小明"

或者直接

var name= "小明"

Go語(yǔ)言中的符號(hào)"

左移運(yùn)算符()

將一個(gè)運(yùn)算對(duì)象的各二進(jìn)制位全部左移若干位(左邊的二進(jìn)制位丟棄,右邊補(bǔ)0)。

例:a = a 2 將a的二進(jìn)制位左移2位,右補(bǔ)0,

左移1位后a = a * 2;

若左移時(shí)舍棄的高位不包含1,則每左移一位,相當(dāng)于該數(shù)乘以2。

右移運(yùn)算符()

將一個(gè)數(shù)的各二進(jìn)制位全部右移若干位,正數(shù)左補(bǔ)0,負(fù)數(shù)左補(bǔ)1,右邊丟棄。

操作數(shù)每右移一位,相當(dāng)于該數(shù)除以2。

例如:a = a 2 將a的二進(jìn)制位右移2位,

左補(bǔ)0 or 補(bǔ)1 得看被移數(shù)是正還是負(fù)。

文章名稱:go語(yǔ)言=符號(hào),go語(yǔ)言符號(hào)
轉(zhuǎn)載來(lái)源:http://muchs.cn/article24/hcghje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、域名注冊(cè)、外貿(mào)網(wǎng)站建設(shè)ChatGPT、面包屑導(dǎo)航虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)