go中已經實現了int->bin的轉化函式,我這裡只是化過程邏輯的實現,至於原理我就假設大家都知道了
本案例只考慮 int->bin 的轉化
包含了正整數,負整數,0 的轉化
package mainimport (
"fmt""
strconv")
//bin表示轉化後的位數
func converttobin(n int,bin int) string
case n>0
:
將 1 轉為 "1" , string(1)直接轉為assic碼
for ; n>0;n/=2
//加0
j:=bin-len(b)
for i:=0;i
case n<0
: n=n*-1
"變為整數:",n)
s:=converttobin(n,bin)
"bin:",s)
//取反
for i:=0;i
else
}"~bin :",b)
//轉化為整形,之後加1 這裡必須要64,否則在轉化過程中可能會超出範圍
n,err :=strconv.parseint(b,2,64
)
if err!=nil
//轉為bin
//+1
b=converttobin(int(n+1
),bin)
}returnb}
func main()
結果 :
5 13 11111 0 1 -5 -1111100000101
00001101
10101101100111
00000000
00000001
11111011
1010010011001
比如-11111的轉化:
變為整數: 11111bin:
10101101100111
~bin : 01010010011000
結果:1010010011001
比如-1的轉化:
變為整數: 1bin:
00000001
~bin : 11111110
結果:11111111
浮點數轉化為二進位制整型
任何資料在記憶體中都是以二進位制的形式儲存的,例如乙個short型資料1156,其二進位制表示形式為00000100 10000100。則在intel cpu架構的系統中,存放方式為 10000100 低位址單元 00000100 高位址單元 因為intel cpu的架構是小端模式。但是對於浮點數在...
DB blob二進位製流轉化
檔案在資料庫裡以blob形式儲存,那麼在讀出來的也是位元組流 inputstream 下面是將位元組流轉換為二進位製流,然後再轉換為字元流以過到操作檔案的目的 inputstream in inputstream ds.getobject 1,content 將從資料庫中得到的流轉化為二進位製流 b...
Go打包二進位制檔案的實現
背景 眾所周知,go語言可打包成目標平台二進位制檔案是其一大優勢,如此go專案在伺服器不需要配置go環境和依賴就可跑起來。操作需求 打包部署到centos7 筆者打包環境 mac os 方法 進入main.go所在目錄,輸入如下命令,當前目錄便會生成main的可執行檔案 cgo enabled 0 ...