婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > go實現整型的二進制轉化的方法

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

熱門標簽:南通如皋申請開通400電話 地圖標注的汽車標 高德地圖標注口訣 西部云谷一期地圖標注 江西轉化率高的羿智云外呼系統 學海導航地圖標注 浙江高速公路地圖標注 中國地圖標注省會高清 廣州呼叫中心外呼系統

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;ibin;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;ij;i++{
      b="0"+b
    }
  case n0:
    n=n*-1
    // fmt.Println("變為整數:",n)
    s:=convertToBin(n,bin)
    // fmt.Println("bin:",s)
    //取反
    for i:=0;ilen(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實現整型的二進制轉化的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

您可能感興趣的文章:
  • Golang如何交叉編譯各個平臺的二進制文件詳解
  • CentOS 6.5 x64系統中安裝MongoDB 2.6.0二進制發行版教程

標簽:貴州 德宏 曲靖 東營 吐魯番 保定 常州 許昌

巨人網絡通訊聲明:本文標題《go實現整型的二進制轉化的方法》,本文關鍵詞  實現,整型,的,二進制,轉化,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《go實現整型的二進制轉化的方法》相關的同類信息!
  • 本頁收集關于go實現整型的二進制轉化的方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 团风县| 保靖县| 二手房| 宁明县| 德化县| 顺昌县| 政和县| 石城县| 门头沟区| 罗定市| 承德市| 丰顺县| 浠水县| 三穗县| 镇康县| 海兴县| 翼城县| 蒙城县| 马关县| 驻马店市| 呼图壁县| 新龙县| 河间市| 舟山市| 汝阳县| 兴隆县| 噶尔县| 安图县| 宁乡县| 东方市| 桦甸市| 嘉峪关市| 田东县| 黑山县| 呈贡县| 尤溪县| 濮阳县| 古蔺县| 玛沁县| 邻水| 淮滨县|