想要知道取反計(jì)算過程,首先搞懂? “原碼“,“反碼”,“補(bǔ)碼”,“取反”。
創(chuàng)新互聯(lián)從2013年創(chuàng)立,先為沾益等服務(wù)建站,沾益等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為沾益企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
0變1,1變0
原碼是計(jì)算機(jī)機(jī)器數(shù)中最簡單的一種形式,數(shù)值位就是真值的絕對值。原碼表示法在最高位為符號:正數(shù)該位為0,負(fù)數(shù)該位為1,原碼又稱帶符號的絕對值??凑麛?shù)9及-9的原碼如下:
9的原碼:0000 1001
-9的原碼: 1000 1001
重點(diǎn):對于源碼,絕對值相等的正數(shù)和負(fù)數(shù)只有符號位不同。
反碼通常是用來由原碼求補(bǔ)碼或者由補(bǔ)碼求原碼的過渡碼。正數(shù)的反碼就是其原碼,負(fù)數(shù)的反碼就是將原碼除符號位以外每位取反(0變1,1變0)。例如:
9的反碼:0000 1001
-9的反碼:1111 0110
在計(jì)算機(jī)系統(tǒng)中,數(shù)值一律用補(bǔ)碼來表示和存儲。正數(shù)的原碼就是其補(bǔ)碼。負(fù)數(shù)的補(bǔ)碼是其反碼+1.例如:
9的補(bǔ)碼:0000 1001
-9的補(bǔ)碼:1111 0111
正整數(shù)的原碼、反碼、補(bǔ)碼都是一樣的。負(fù)數(shù)的反碼是除符號位其他每一位取反,負(fù)數(shù)的補(bǔ)碼是其反碼+1
首先明確一個概念,由于在計(jì)算機(jī)中二進(jìn)制都是以其補(bǔ)碼形式存放在內(nèi)存中的。所以要知道 ^9 就是對 9 的補(bǔ)碼取反,也就是說無論是整數(shù)還是負(fù)數(shù)對其取反都是對其補(bǔ)碼取反。
正數(shù)9:
原碼為: 0000 1001
反碼為: 0000 1001
補(bǔ)碼為: 0000 1001
1. 取反結(jié)果=負(fù)數(shù)補(bǔ)碼 :0000 1001 --- (取反) 1111 0110?
注:由于 ^ 位取反操作符,對于符號位也會取反 所以這里得到一個負(fù)數(shù)的補(bǔ)碼,想要計(jì)算其真實(shí)的值。還需要將其轉(zhuǎn)換成原碼。
2. 得反碼:1111 0110? -? 1? =??1111 0101
補(bǔ)碼 = 反碼 + 1 (反推) 反碼?= 補(bǔ)碼 - 1
3. 得原碼?1111 0101 -- 1111 1010 = -10
原碼? =? 反碼取反
負(fù)數(shù)-9:
原碼為: 1111 1001
反碼為: 1111 0110
補(bǔ)碼為: 1111 0111
1. 取反結(jié)果=正數(shù)補(bǔ)碼?1111 0111 ----?0000 1000
2. 正數(shù)原碼 = 反碼 = 補(bǔ)碼 =?0000 1000 = 8
1、數(shù)組是多個 相同類型 的數(shù)據(jù)的組合,一個數(shù)組一旦聲明/定義了,其 長度是固定的,不能動態(tài)變化 。
2、var arr []int? ? 這時arr就是一個slice 切片 。
3、數(shù)組中的元素可以是任何數(shù)據(jù)類型,包括值類型和引用類型,但是 不能混用 。
4、數(shù)組創(chuàng)建后,如果沒有賦值,有默認(rèn)值如下:
? ? 數(shù)值類型數(shù)組:????默認(rèn)值為 0
? ? 字符串?dāng)?shù)組:? ? ? ?默認(rèn)值為 ""
? ? bool數(shù)組:? ? ? ? ? ?默認(rèn)值為 false
5、使用數(shù)組的步驟:
? ? (1)聲明數(shù)組并開辟空間
? ? (3)給數(shù)組各個元素賦值
? ? (3)使用數(shù)組
6、數(shù)組的下標(biāo)是從0開始的。
7、數(shù)組下標(biāo)必須在指定范圍內(nèi)使用,否則報(bào)panic:數(shù)組越界,比如var arr [5]int的有效下標(biāo)為0~4.
8、Go的數(shù)組屬于 值類型 ,在默認(rèn)情況下是 值傳遞 ,因此會進(jìn)行值拷貝。 數(shù)組間不會相互影響。
9、如想在其他函數(shù)中去修改原來的數(shù)組,可以使用 引用傳遞 (指針方式)。
10、長度是數(shù)組類型的一部分,在傳遞函數(shù)參數(shù)時,需要考慮數(shù)組的長度,看以下案例:
題1:編譯錯誤,因?yàn)椴荒馨裑3]int類型傳遞給[]int類型,前者是數(shù)組,后者是切片;
題2:編譯錯誤,因?yàn)椴荒馨裑3]int類型傳遞給[4]int類型;
題3:編譯正確,因?yàn)閇3]int類型傳給[3]int類型合法。
package?main
import?"fmt"
func?main()?{
var?a,?b,?c?int
fmt.Scanf("%d%d%d",?a,?b,?c)
fmt.Println(a?+?b?+?c)
}
希望采納!
網(wǎng)站名稱:go語言提取每一位的數(shù)字 go語言截取字符串
網(wǎng)頁地址:http://www.rwnh.cn/article2/ddcpgic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、云服務(wù)器、Google、小程序開發(fā)、網(wǎng)站制作、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)