校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Golang 運算符及位運算詳解

Golang 運算符及位運算詳解

熱門標簽:貴州電話智能外呼系統 江蘇呼叫中心外呼系統有效果嗎 地圖區域圖標注后導出 400開頭電話怎樣申請 利用地圖標注位置 谷歌美發店地圖標注 杭州人工智能電銷機器人費用 官渡電銷外呼管理系統怎么收費 赤峰電銷

什么是運算符?

運算符用于執行程序代碼運算,會針對一個以上操作數項目來進行運算。例如:2+3,其操作數是2和3,而運算符則是“+”。

在vb2005中運算符大致可以分為5種類型:算術運算符、位運算符、 關系運算符、賦值運算符、邏輯運算符。

算數運算符

運算符 描述
+ 相加
- 相減
* 相乘
/ 相除
% 求余

注意: ++(自增)和--(自減)在Go語言中是單獨的語句,并不是運算符。

func main() {
 a, b := 3,4
 fmt.Printf("a 加 b = %d\n", a + b)
 fmt.Printf("a 減 b = %d\n", a - b)
 fmt.Printf("a 乘 b = %d\n", a * b)
 fmt.Printf("a 除 b = %d\n", a / b)
}

關系運算符

運算符 描述
== 檢查兩個值是否相等,如果相等返回 True 否則返回 False。
!= 檢查兩個值是否不相等,如果不相等返回 True 否則返回 False。
> 檢查左邊值是否大于右邊值,如果是返回 True 否則返回 False。
>= 檢查左邊值是否大于等于右邊值,如果是返回 True 否則返回 False。
檢查左邊值是否小于右邊值,如果是返回 True 否則返回 False。
= 檢查左邊值是否小于等于右邊值,如果是返回 True 否則返回 False。
package main
import "fmt"
func main() {
	a, b := 3, 4
	//fmt.Println("a == b?", a == b)  // a == b? false
	//fmt.Println("a != b?", a != b)  // a != b? true
	//fmt.Println("a > b?", a > b )  // a > b? true
	//fmt.Println("a >= b?", a >= b)  // a >= b? false
	//fmt.Println("a  b?", a  b )  // a >= b? true
	//fmt.Println("a = b?", a = b ) // a = b? true
}

邏輯運算符

運算符 描述
邏輯 AND 運算符。 如果兩邊的操作數都是 True,則為 True,否則為 False。
|| 邏輯 OR 運算符。 如果兩邊的操作數有一個 True,則為 True,否則為 False。
! 邏輯 NOT 運算符。 如果條件為 True,則為 False,否則為 True。
package main
import "fmt"
func main() {
	a, b := true, false
	fmt.Println("a  b ?", a  b) // a  b ? false
	fmt.Println("a || b ?", a || b) // a || b ? true
	fmt.Println(" !a ?", !a)  // !a ? false
	fmt.Println(" !b ?", !b)  // !b ? true
}

位運算符

常見進制:

二進制:只有 0 和 1,Go語言中不能直接使用二進制表示整數;

八進制:0-7,以數字 0 開頭;

十進制:0-9;

十六進制:0-9 以及 A-F,以 0X 開頭,A-F 以及 X 不區分大小寫。

package main
import "fmt"
func main() {
 a := 10
 // 二進制
 fmt.Printf("%b\n",a) // 1010
 // 八進制
 fmt.Printf("%o\n",a) // 12
 // 十進制
 fmt.Printf("%d\n",a) // 10
 // 十六進制
 fmt.Printf("%x\n",a) // a
}

任意進制轉換為十進制

二進制轉十進制:從最低位開始,每個位上數乘以 2 的位數減 1 次方然后求和。

1011 = 120 + 121 + 022 + 123 = 11

八進制轉十進制:從最低位開始,每個位上數乘以 8 的位數減 1 次方然后求和。

0123 = 380 + 281 + 182 + 083 = 83

其他進制互轉:

二進制轉換八進制:將二進制數從低位開始,每三位一組,轉換成八進制數即可;

二進制轉十六進制:將二進制數從低位開始,每四位一組,轉換成十六進制數即可;

八進制轉換二進制:將八進制數每 1 位轉換成一個 3 位的二進制數(首位 0 除外);

十六進制轉二進制:將十六進制每 1 位轉換成對應的一個 4 位的二進制數即可。

反碼補碼

對于有符號數而言,二進制的最高為是符號位:0 表示正數,1 表示負數。

短除法進行進制轉變

十進制的10-> 二進制:

二進制的1011 -> 十進制

想要詳細了解其原理的可以參考短除法相關說明

位運算符對整數在內存中的二進制位進行操作。

運算符 描述
參與運算的兩數各對應的二進位相與。 (兩位均為1才為1)
| 參與運算的兩數各對應的二進位相或。 (兩位有一個為1就為1)
^ 參與運算的兩數各對應的二進位相異或,當兩對應的二進位相異時,結果為1。 (兩位不一樣則為1)
左移n位就是乘以2的n次方。 “ab”是把a的各二進位全部左移b位,高位丟棄,低位補0。
>> 右移n位就是除以2的n次方。 “a>>b”是把a的各二進位全部右移b位。

XOR - 異或:相同為0,不同為1.也可用“進位加法”來理解

x ^ 0 = X
x ^ 1s = ~x # 1s = ~ 0
x ^ (~x) = 1s 
x ^ x = 0
c = a ^ b => a ^ c = b, b ^c = a # 交換兩數
a ^ b ^ c = a ^(b ^ c) = (a ^ b) ^c # associative
// 指定未知的位運算
. 將x最右邊的n位請零: x  (~0  n )
. 獲取x的第n位值(0 或 1): (x >> n) 1
. 獲取x的第n位的冪值:x  (1  n)
. 僅將第n位置為 1: x | (1  n)
. 僅將第n位置為0:x  (~1(1  n))
. 將x最高位至第n位(含)清零:x  ((1  n) - 1)
// 實戰位運算要點
// 判斷奇偶性
x % 2 == 1 - > (x  1) == 1 
x  2 == 0 -> (x1) == 0
 // 清零最低位的1
x = x  (x - 1)
// 得到最低位的1
x  ~x 
x  ~ x = > 0

為了更清晰的觀察其變化,我們使用二進制來進行演示

package main
import "fmt"
func main() {
 a, b := 13, 21
 fmt.Printf("a:%b  %b = %b\n", a, b, a  b)
 fmt.Printf("a:%b | %b = %b\n", a, b, a | b)
 fmt.Printf("a:%b ^ %b = %b\n", a, b, a ^ b)
 fmt.Printf("a:%b ^ %b = %b\n", a, b, a ^ b)
 // 左移
 // 二進制表示
 fmt.Printf("%b  %b = %b\n",2, 2, 22) // 10  10 = 1000
 // 十進制
 fmt.Printf("%d  %d = %d\n",2, 2, 22) // 2  2 = 8
 // 右移
 // 二進制
 fmt.Printf("%b >> %b = %b\n",2, 2, 2>>2) // 10 >> 10 = 0
 // 十進制
 fmt.Printf("%d >> %d = %d\n",2, 2, 2>>2) // 2 >> 2 = 0
}

賦值運算符

運算符 描述
= 簡單的賦值運算符,將一個表達式的值賦給一個左值
+= 相加后再賦值
-= 相減后再賦值
*= 相乘后再賦值
/= 相除后再賦值
%= 求余后再賦值
= 左移后賦值
>>= 右移后賦值
= 按位與后賦值
|= 按位或后賦值
^= 按位異或后賦值

運算符優先級

運算符優先級確定表達式中的分組。這會影響表達式的計算方式。某些運算符比其他運算符具有更高的優先級; 例如,乘法運算符比加法運算符有更高的優先級。

當同級別的運算符出現在同一個表達式中,從左到右的順序計算,比如乘除一起,不管是乘在前面還是除在前面都是從左到右計算乘、除運算符。加減亦是如此。

例如:x = 7 + 3 * 2; 這里,計算結果x被分配13,而不是20,因為運算符 *具有比+有更的優先級,所以它首先乘以3 * 2,然后加上7。

這里,具有最高優先級的運算符放在表的頂部,具有最低優先級的運算符出現在底部。 在表達式中,將首先計算較高優先級運算符。

分類 描述 關聯性
后綴 ()[]->.++ – 左到右
一元 + -!~++ --(type)*sizeof 右到左
乘法 */ % 左到右
加法 + - 左到右
移位 >> 左到右
關系 =>>= 左到右
相等 ==!= 左到右
按位AND 左到右
按位XOR ^ 左到右
按位OR | 左到右
邏輯AND 左到右
邏輯OR || 左到右
條件 ?: 右到左
分配 =+=-=*=/= %=>>= = = ^= |= 右到左
逗號 , 左到右

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • golang中為什么不存在三元運算符詳解
  • Go語言運算符案例講解
  • 手把手帶你走進Go語言之運算符解析

標簽:保定 武漢 泰安 松原 宜春 黔西 河池 鷹潭

巨人網絡通訊聲明:本文標題《Golang 運算符及位運算詳解》,本文關鍵詞  Golang,運算符,及,位,運算,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Golang 運算符及位運算詳解》相關的同類信息!
  • 本頁收集關于Golang 運算符及位運算詳解的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    亚洲国产一区二区视频| 成人高清免费观看| 成人午夜在线播放| 欧美日韩一级片在线观看| 久久久www免费人成精品| 亚洲综合一区二区三区| 成人天堂资源www在线| 精品剧情v国产在线观看在线| 亚洲色大成网站www久久九九| 国产一区美女在线| 91精品国产欧美一区二区成人 | 欧美一区二区三区的| 国产精品盗摄一区二区三区| 美国毛片一区二区三区| 欧美视频一区二区在线观看| 国产精品久久久久久妇女6080 | 91网址在线看| 国产人妖乱国产精品人妖| 久久精品国产精品亚洲精品 | av一区二区不卡| 精品av综合导航| 美女一区二区三区在线观看| 日韩一区二区精品| 日本vs亚洲vs韩国一区三区二区 | 一区二区三区国产| www.久久久久久久久| 欧美激情一区二区| 大美女一区二区三区| 国产精品天干天干在观线| 成人一区二区三区视频在线观看| 久久麻豆一区二区| 成人性色生活片免费看爆迷你毛片| 2020国产精品久久精品美国| 国产在线不卡视频| 国产日韩欧美精品一区| 国产精品综合一区二区三区| 国产日产亚洲精品系列| 国产一区二区三区精品欧美日韩一区二区三区 | 日日欢夜夜爽一区| 欧美日韩黄色一区二区| 日韩高清中文字幕一区| 日韩一区二区在线看| 久久精品国产第一区二区三区| 日韩视频永久免费| 国模冰冰炮一区二区| 国产丝袜美腿一区二区三区| 国产xxx精品视频大全| 成人欧美一区二区三区小说| 色婷婷精品久久二区二区蜜臀av| 亚洲激情在线播放| 日韩欧美黄色影院| 粉嫩一区二区三区性色av| 中文字幕欧美国产| 91高清视频在线| 婷婷综合另类小说色区| 日韩免费观看高清完整版在线观看| 国产电影精品久久禁18| 成人欧美一区二区三区白人| 欧美日韩的一区二区| 精品午夜久久福利影院| 国产精品情趣视频| 欧美日韩久久一区| 国产尤物一区二区在线| 亚洲色图欧美在线| 欧美一区二区福利在线| 国产成人综合在线| 亚洲国产裸拍裸体视频在线观看乱了 | 久久亚洲捆绑美女| 99久久精品一区| 蜜桃视频免费观看一区| 国产精品久久久久婷婷| 欧美一区二区三区免费大片 | 日韩美女视频在线| 972aa.com艺术欧美| 天使萌一区二区三区免费观看| 久久久久久久国产精品影院| 色婷婷精品大在线视频 | 91国产视频在线观看| 麻豆精品一区二区av白丝在线| 中文字幕在线视频一区| 6080日韩午夜伦伦午夜伦| 成人免费视频国产在线观看| 全部av―极品视觉盛宴亚洲| 中文字幕永久在线不卡| 精品久久久久一区二区国产| 在线观看亚洲a| 成人性生交大片免费看在线播放| 日韩高清中文字幕一区| 一区二区三区在线免费播放| 日本一区二区三区国色天香| 日韩欧美一级在线播放| 欧美色区777第一页| 99re热这里只有精品免费视频 | 国产精品国产三级国产普通话蜜臀| 51精品视频一区二区三区| 99精品视频在线免费观看| 青青草原综合久久大伊人精品 | 欧美色精品天天在线观看视频| 成人深夜在线观看| 高清av一区二区| 国产精品影视在线观看| 日韩精品91亚洲二区在线观看| 亚洲免费在线电影| 综合久久久久久久| 中文字幕日韩欧美一区二区三区| 久久久久亚洲综合| 国产亚洲婷婷免费| 国产性做久久久久久| 国产亚洲精品资源在线26u| 精品国产一区二区在线观看| 日韩欧美国产一区二区在线播放| 欧美一区二区三区人| 日韩精品一区二区三区老鸭窝| 欧美一区二区在线视频| 欧美日本免费一区二区三区| 欧美日韩国产综合一区二区| 91麻豆国产福利精品| 99久久精品国产一区| voyeur盗摄精品| 成人免费精品视频| 99久久国产综合精品麻豆| av激情综合网| 色婷婷精品大在线视频| 精品视频色一区| 日韩视频在线观看一区二区| 日韩欧美不卡在线观看视频| 日韩一区二区在线看片| 久久综合色天天久久综合图片| 久久影院电视剧免费观看| 国产日韩欧美综合一区| 亚洲女女做受ⅹxx高潮| 亚洲午夜免费电影| 久久福利资源站| caoporn国产精品| 欧美三级电影网| 精品美女在线播放| 中文字幕一区二区三区四区不卡 | 欧美探花视频资源| 678五月天丁香亚洲综合网| 日韩精品一区国产麻豆| 国产亚洲一二三区| 亚洲午夜久久久久久久久电影网| 日韩国产精品大片| 国产·精品毛片| 91国产成人在线| 精品国产三级电影在线观看| 国产精品高潮呻吟久久| 日本欧美一区二区| 成人av在线网站| 欧美日韩一区二区三区视频| 精品久久人人做人人爰| 亚洲人精品一区| 日本女人一区二区三区| 国产91露脸合集magnet| 69久久99精品久久久久婷婷| 国产日本欧美一区二区| 日韩精品国产精品| gogogo免费视频观看亚洲一| 欧美精品久久99久久在免费线| 国产女同性恋一区二区| 日韩激情在线观看| 丁香天五香天堂综合| 欧美一区二区三区成人| 亚洲男同1069视频| 国产伦精品一区二区三区视频青涩| 91黄色免费看| 国产精品久久久久久久久动漫 | 91麻豆免费观看| 日韩免费观看高清完整版 | 欧美系列亚洲系列| 久久青草国产手机看片福利盒子| 亚洲一二三区视频在线观看| 国产成人av电影免费在线观看| 日韩视频免费观看高清完整版 | 国产精品国产三级国产aⅴ原创| 秋霞国产午夜精品免费视频| 91福利视频网站| 中文字幕一区二区三区蜜月| 精品一区二区三区视频在线观看| 在线观看日韩毛片| 亚洲精品视频在线观看免费| 国产激情一区二区三区| 精品免费国产二区三区| 免费美女久久99| 欧美一区二区在线免费播放| 亚洲一区二区在线视频| 91偷拍与自偷拍精品| 国产人成亚洲第一网站在线播放| 理论片日本一区| 欧美二区乱c少妇| 亚洲国产欧美日韩另类综合| 91捆绑美女网站| 专区另类欧美日韩| www.亚洲精品| 亚洲男人的天堂在线aⅴ视频| 国产.欧美.日韩| 国产精品久久久久四虎| 成人免费视频播放| 一区在线播放视频| 91理论电影在线观看|