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

主頁 > 知識庫 > 淺談golang二進制bit位的常用操作

淺談golang二進制bit位的常用操作

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

golang作為一熱門的兼顧性能 效率的熱門語言,相信很多人都知道,在編程語言排行榜上一直都是很亮眼,作為一門強類型語言,二進制位的操作肯定是避免不了的,數據的最小的單位也就是位,尤其是網絡中封包、拆包,讀取二進制文件等用的特別廣泛,

所以學好golang二進制bit位的常用操作還是很必要的,而且很多運算尤其是乘法除法運算,CPU效率是很低的,這時候可以二進制操作代替,不多說了,上干貨!

package main 
import (
  "fmt"
  "github.com/imroc/biu"
)
 
/**
  golang二進制bit位的常用操作,biu是一個轉換二進制顯示的庫
  mengdj@outlook.com
 */
func main() {
  var(
    /**
    1個字節=8個二進制位,每種數據類型占用的字節數都不一樣
    注意位操作千萬不要越界了,如某個類型占8個bit位,偏移時候不要超過這個范圍
     */
    a uint8=30
  )
  //a輸出結果:00011110
  fmt.Println(biu.ToBinaryString(a))
  /**
  將某一位設置為1,例如設置第8位,從右向左數需要偏移7位,注意不要越界
  17=1000 0000 然后與a邏輯或|,偏移后的第8位為1,邏輯|運算時候只要1個為真就為真達到置1目的
   */
   b:=a|(17)
   //b輸出結果:10011110
   fmt.Println(biu.ToBinaryString(b))
   /**
   將某一位設置為0,例如設置第4位,從右向左數需要偏移3位,注意不要越界
   13=0000 1000 然后取反得到 1111 0111 然后邏輯a
   */
   c:=a^(13)
   //c輸出結果:00010110
   fmt.Println(biu.ToBinaryString(c))
   /**
   獲取某一位的值,即通過左右偏移來將將某位的值移動到第一位即可,當然也可以通過計算獲得
   如獲取a的第4位
   先拿掉4位以上的值 a4=1110 0000,然后拿掉右邊的3位即可 a>>7=0000 0001
    */
    d:=(a4)>>7
    //d輸出結果:00000001 即1
    fmt.Println(biu.ToBinaryString(d))
    /**
    取反某一位,即將某一位的1變0,0變1
    這里使用到了亦或操作符 ^ 即 位值相同位0,不同為1
    如獲取a的第4位 13=0000 1000
    0000 1000 ^ 0001 1110 = 0001 0110
    */
    e:=a^(13)
    //d輸出結果:00010110 即1
    fmt.Println(biu.ToBinaryString(e))
 
    /**
    最后1個是綜合用法,若tcp協議需要客戶端先發送握手包,該包占用1個字節,其中前2位保留字段必須要為0,中間3位客戶端對服務器版本要求,最后位客戶端端版本
    假設我們對服務器的版本要求和自己的版本都是3,那么我們該怎樣構建這個包呢? 目標0001 1011
    很多語言類型都沒有直接 bit 單位,只要字節因此需要通過其他方法來得到,其實簡單|或運算加上偏移即可,值得注意的網絡使用的都是大端字節,傳輸前需要轉換
    rf=0 0000 0000
    svf=3 0000 0011 偏移3位得到 0001 1000
    cvf=3 0000 0011
    計算
    0000 0000
    |
    0001 1000
    |
    0000 0011
    =
    0001 1011
    */
    var rf,svf,cvf uint8=0,3,3
    head:=rf|(svf3)|cvf
    //head輸出結果:00011011
    fmt.Println(biu.ToBinaryString(head))
}

補充:go語言二進制安裝

Go 語言二進制安裝方式非常簡單,

1、到這里下載https://golang.org/dl/ 二進制安裝包

2、解壓安裝包到/usr/local/go 目錄下

3、編輯 /etc/profile, 加入 export PATH=$PATH:/usr/local/go/bin

4、source /etc/profile, 不退出登錄讓profile生效

5、建立hello.go文件測試下生成是否安裝成功

package main
import "fmt"
func main() {
  fmt.Printf("hello, world\n")
}

6、運行 hello.go

[root@ffe406bc816b my]# go run hello.go

hello, world

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

您可能感興趣的文章:
  • golang中struct和[]byte的相互轉換示例
  • Golang二進制文件混淆保護操作
  • 減少 golang 二進制文件大小操作
  • Golang如何交叉編譯各個平臺的二進制文件詳解
  • Golang如何實現任意進制轉換的方法示例
  • golang 將[]byte轉成16進制的實現

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

巨人網絡通訊聲明:本文標題《淺談golang二進制bit位的常用操作》,本文關鍵詞  淺談,golang,二進制,bit,位,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《淺談golang二進制bit位的常用操作》相關的同類信息!
  • 本頁收集關于淺談golang二進制bit位的常用操作的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    91在线一区二区三区| 国产精品色在线观看| 国产精品88888| 洋洋成人永久网站入口| 欧美成人一区二区三区在线观看| 99国产精品久久久| 久久99久久久久| 日韩二区在线观看| 日韩电影在线看| 视频一区视频二区中文字幕| 亚洲男同性视频| 亚洲伦理在线精品| 国产色婷婷亚洲99精品小说| 精品免费日韩av| 欧美一区中文字幕| 91精品国产高清一区二区三区| 国产麻豆精品在线| 国产高清亚洲一区| 粉嫩av一区二区三区在线播放 | 欧美疯狂做受xxxx富婆| 成人毛片视频在线观看| 成人动漫视频在线| 91原创在线视频| 国产成人精品免费一区二区| 国产成人精品免费视频网站| 国产伦理精品不卡| 成人动漫一区二区在线| 99国产精品国产精品毛片| jizzjizzjizz欧美| 色婷婷精品久久二区二区蜜臂av| 韩日欧美一区二区三区| 国产高清不卡一区| 92精品国产成人观看免费| 欧洲一区二区av| 91精品婷婷国产综合久久 | 欧美亚洲综合一区| 91精品国产福利在线观看| 91精品欧美一区二区三区综合在| 欧美电视剧在线观看完整版| 久久网这里都是精品| 国产精品国产精品国产专区不片| ...av二区三区久久精品| 亚洲人妖av一区二区| 亚洲电影视频在线| 韩国女主播一区二区三区| 成人的网站免费观看| av在线一区二区三区| 欧美综合视频在线观看| 欧美一区二区三区公司| 欧美男女性生活在线直播观看| 精品国产污网站| 一区免费观看视频| 亚洲免费观看在线观看| 日本不卡免费在线视频| 成人动漫一区二区| 久久久久久久精| 免费看欧美女人艹b| 欧美中文字幕亚洲一区二区va在线| 久久久国产精品午夜一区ai换脸| 欧美aaaaa成人免费观看视频| 99re66热这里只有精品3直播 | 国产精品视频一二| 精品亚洲成a人| 欧美一区二区在线视频| 亚洲综合无码一区二区| 99国产精品久| 亚洲欧洲美洲综合色网| 国产精品小仙女| 欧美精品一区二区蜜臀亚洲| 日韩一区精品字幕| 欧美日韩免费高清一区色橹橹| 亚洲丝袜另类动漫二区| 成人aaaa免费全部观看| 国产精品久久久久一区| 成人在线一区二区三区| 国产欧美日韩在线视频| 国产成人av电影| 国产精品日日摸夜夜摸av| 国产一区二区三区| 国产欧美日韩在线观看| 国产成人丝袜美腿| 国产精品第一页第二页第三页| 懂色中文一区二区在线播放| 欧美韩日一区二区三区四区| 激情文学综合插| 中文字幕二三区不卡| 91在线观看美女| 三级欧美在线一区| 久久一留热品黄| av激情成人网| 亚洲欧洲三级电影| 91蝌蚪porny九色| 精品少妇一区二区三区在线播放| 欧美tickle裸体挠脚心vk| 午夜视黄欧洲亚洲| 不卡视频在线观看| 国产成人在线免费| 8v天堂国产在线一区二区| 亚洲一区视频在线| 日韩欧美国产一二三区| 国产91丝袜在线播放九色| 亚洲丝袜精品丝袜在线| 色婷婷综合五月| 五月开心婷婷久久| 91精品国产91热久久久做人人| 美日韩一区二区三区| 欧美精品一区二区三区蜜桃视频 | 亚洲综合激情另类小说区| 91捆绑美女网站| 美女网站一区二区| 欧美激情一区三区| 欧美麻豆精品久久久久久| 日av在线不卡| 国产婷婷一区二区| 制服丝袜国产精品| 国产裸体歌舞团一区二区| 国产精品嫩草影院av蜜臀| 在线一区二区视频| 国产真实乱偷精品视频免| 亚洲视频中文字幕| 日韩欧美激情四射| 99麻豆久久久国产精品免费| 亚洲一区二区三区国产| 精品盗摄一区二区三区| 91首页免费视频| 日产欧产美韩系列久久99| 国产精品天干天干在线综合| 91久久精品日日躁夜夜躁欧美| 亚洲精品一二三区| 国产女人aaa级久久久级| 欧美丝袜自拍制服另类| 国内国产精品久久| 一区二区三区欧美视频| 日韩欧美国产午夜精品| 国产91高潮流白浆在线麻豆| 麻豆精品一区二区综合av| 亚洲人成网站在线| 日本一区免费视频| 91精品国产日韩91久久久久久| 在线这里只有精品| 高清国产午夜精品久久久久久| 性做久久久久久免费观看 | 亚洲三级电影全部在线观看高清| 欧美日韩久久久| jvid福利写真一区二区三区| 久久99精品一区二区三区 | 一区二区在线看| 久久久精品天堂| 91精品福利在线一区二区三区| 91视视频在线直接观看在线看网页在线看| 国产精品一级在线| 日韩不卡一区二区| 一区二区三区在线视频观看58| 久久中文娱乐网| 欧美一区二区国产| 精品国产一区二区三区不卡| 欧美三级在线看| 91丨九色丨蝌蚪丨老版| a亚洲天堂av| 国产成人av一区二区三区在线| 视频一区免费在线观看| 一区二区三区不卡视频在线观看| 国产精品污www在线观看| 久久久亚洲高清| 久久久久亚洲蜜桃| 久久一二三国产| 亚洲欧美日韩国产综合在线| 亚洲欧洲三级电影| 日韩一区欧美小说| 亚洲人精品午夜| 亚洲午夜免费视频| 偷拍一区二区三区| 丝袜亚洲另类欧美综合| 日本不卡视频一二三区| 午夜精品久久久久久久久久久| 亚洲一区免费在线观看| 五月婷婷久久丁香| 蜜桃一区二区三区在线观看| 韩国三级中文字幕hd久久精品| 国产成人亚洲精品狼色在线| 成a人片国产精品| 91啪亚洲精品| 大胆亚洲人体视频| 欧美日韩亚洲综合在线| 欧美一区二区三区不卡| 欧美成人一区二区三区| 欧美大片一区二区三区| 亚洲视频小说图片| 亚洲国产中文字幕在线视频综合| 亚洲福利视频一区二区| 免费成人在线观看| 色呦呦一区二区三区| 欧美精品 日韩| 国产欧美精品一区aⅴ影院| 亚洲男人的天堂在线观看| 午夜精品久久久久久久久久| 精品一区二区三区日韩| 99久久精品国产一区二区三区| 精品视频123区在线观看| 91传媒视频在线播放|