91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

go實現整型的二進制轉化的方法

發布時間:2020-09-05 05:09:42 來源:腳本之家 閱讀:312 作者:feiquan 欄目:編程語言

go中已經實現了int->bin的轉化函數,我這里只是化過程邏輯的實現,至于原理我就假設大家都知道了

本案例只考慮  int->bin  的轉化

包含了正整數,負整數,0 的轉化

package main
import (
  "fmt"
  "strconv"
)
//bin表示轉化后的位數
func convertToBin(n int,bin int) string{
  var b string
  switch {
  case n==0:
    for i:=0;i<bin;i++{
      b+="0"
    }
  case n>0:
    //strcov.Itoa 將 1 轉為 "1" , string(1)直接轉為assic碼
    for ; n>0;n/=2{
      b=strconv.Itoa(n%2)+b
    }
    //加0
    j:=bin-len(b)
    for i:=0;i<j;i++{
      b="0"+b
    }
  case n<0:
    n=n*-1
    // fmt.Println("變為整數:",n)
    s:=convertToBin(n,bin)
    // fmt.Println("bin:",s)
    //取反
    for i:=0;i<len(s);i++{
      if s[i:i+1]=="1"{
        b+="0"
      }else{
        b+="1"
      }
    }
    // fmt.Println("~bin :",b)
    //轉化為整形,之后加1 這里必須要64,否則在轉化過程中可能會超出范圍
    n,err :=strconv.ParseInt(b,2,64)
    if err!=nil{
      fmt.Println(err)
    }
    //轉為bin
    //+1
    b=convertToBin(int(n+1),bin)
  }
  return b
}
func main(){
  fmt.Println(
    convertToBin(5,8), //101
    convertToBin(13,8), //1101
    convertToBin(11111,8),
    convertToBin(0,8),
    convertToBin(1,8),
    convertToBin(-5,8),
    convertToBin(-11111,8),
  )
}

結果 :

5     13      11111      0    1      -5    -11111
00000101 00001101 10101101100111 00000000 00000001 11111011 1010010011001

比如-11111的轉化:

變為整數: 11111
bin: 10101101100111
~bin : 01010010011000
結果:1010010011001

比如-1的轉化:

變為整數: 1
bin: 00000001
~bin : 11111110
結果:11111111

總結

以上所述是小編給大家介紹的go實現整型的二進制轉化的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

莎车县| 古丈县| 凤山市| 交城县| 娄烦县| 泸西县| 秦皇岛市| 陆川县| 晴隆县| 汝城县| 吴堡县| 益阳市| 修武县| 哈巴河县| 东光县| 化州市| 仁怀市| 藁城市| 克东县| 江门市| 夏邑县| 汕尾市| 无棣县| 南充市| 加查县| 宁河县| 高碑店市| 延吉市| 大姚县| 马山县| 隆尧县| 那曲县| 垦利县| 介休市| 阿坝县| 习水县| 金坛市| 连山| 山东省| 灵石县| 惠安县|