func ByteToBinaryString(data byte) (str string) {
創(chuàng)新互聯(lián)公司專注于企業(yè)成都全網(wǎng)營銷、網(wǎng)站重做改版、興安網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站、成都做商城網(wǎng)站、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為興安等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
var a byte
for i:=0; i 8; i++ {
a = data
data = 1
data = 1
switch (a) {
case data: str += "0"
default: str += "1"
}
data = 1
}
return str
}
//該代碼片段來自于:
使用方法package main
import . "fmt"
func main() {
Printf("[%s][%s][%s][%s]\n",
ByteToBinaryString(byte(0)),ByteToBinaryString(byte(231)),
ByteToBinaryString(byte(168)), ByteToBinaryString(byte(162)))
}
//二進(jìn)制轉(zhuǎn)十六進(jìn)制func btox(b string) string { base, _ := strconv.ParseInt(b, 2, 10) return strconv.FormatInt(base, 16)}//十六進(jìn)制轉(zhuǎn)二進(jìn)制func xtob(x string) string { base, _ := strconv.ParseInt(x, 16, 10) return strconv.Format...
-1的二進(jìn)制是1111 1111,不是1000 0001喔,負(fù)數(shù)的二進(jìn)制表示為其原碼的反碼再加1,
正數(shù)的反碼跟原碼不變,而負(fù)數(shù)的反碼除符號位外其他位取反
-1的原碼是1000 0001,所以反碼為1111 1110,最后在加1即1111 1111
如果二進(jìn)制1000 0001是一個(gè)有符號位的8位數(shù)據(jù),那么最高位為符號位,1為負(fù)數(shù)0為正數(shù)
那反過來二進(jìn)制1000 0001表示成十進(jìn)制就是減1在取反,
1000 0001 - 1=1000 0000
除符號位取反后為1111 1111即-127
文章標(biāo)題:go語言二進(jìn)制轉(zhuǎn)數(shù)字 2進(jìn)制轉(zhuǎn)數(shù)字
文章來源:http://muchs.cn/article32/hgsdpc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、自適應(yīng)網(wǎng)站、網(wǎng)站導(dǎo)航、響應(yīng)式網(wǎng)站、網(wǎng)站設(shè)計(jì)、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)