真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

go語言取整數(shù) go語言取余數(shù)

golang 正負(fù)數(shù)取反

想要知道取反計(jì)算過程,首先搞懂? “原碼“,“反碼”,“補(bǔ)碼”,“取反”。

創(chuàng)新互聯(lián)公司專注于企業(yè)營銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、瀘溪網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5頁面制作、商城系統(tǒng)網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價格優(yōu)惠性價比高,為瀘溪等各大城市提供網(wǎng)站開發(fā)制作服務(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

go語言里怎么把整數(shù)變成負(fù)數(shù)取相反數(shù)?

取一個數(shù)的相反數(shù),可以用數(shù)學(xué)運(yùn)算來實(shí)現(xiàn):-1 * x的結(jié)果就是x的相反數(shù)。

Go number

Go中數(shù)值類型可細(xì)分為整數(shù)、浮點(diǎn)數(shù)、復(fù)數(shù)三種,每種都具有不同的大小范圍和正負(fù)支持。

整型分為兩大類

Go提供了有符號和無符號的整數(shù)類型,同時提供四種大小不同的整數(shù)類型。

取值范圍

等價類型

特殊整型

int 和 uint 分別對應(yīng)特定CPU平臺的字長(機(jī)器字大?。?,大小范圍在 32bit 或 64bit 之間變化,實(shí)際開發(fā)中由于編譯器和硬件不同而不同。

進(jìn)制轉(zhuǎn)換

轉(zhuǎn)換函數(shù)

使用注意

字節(jié)長度

Golang提供了兩種精度的浮點(diǎn)數(shù)分別為 float32 和 float64 ,它們的算術(shù)規(guī)范由IEEE754浮點(diǎn)數(shù)國際標(biāo)準(zhǔn)定義,IEEE754浮點(diǎn)數(shù)標(biāo)準(zhǔn)被現(xiàn)代CPU支持。

float32 類型的浮點(diǎn)數(shù)可提供約6個十進(jìn)制數(shù)的精度, float64 類型的浮點(diǎn)數(shù)可提供約15個十進(jìn)制數(shù)的精度。通常會優(yōu)先選擇使用 float64 ,因?yàn)?float32 累計(jì)計(jì)算誤差會比較容易擴(kuò)散。

計(jì)算機(jī)中復(fù)數(shù)(complex)由兩個浮點(diǎn)數(shù)表示,一個表示實(shí)部(real)一個表示虛部(imag)。

Go語言中復(fù)數(shù)的值由三部分組成 RE + IMi ,分別是實(shí)數(shù)部分 RE 、虛數(shù)部分 IM 、虛數(shù)單位 i , RE 和 IM 均為 float 。

Go語言提供兩種類型的復(fù)數(shù),分別是 complex64 即32位實(shí)數(shù)和虛數(shù), complex128 即64位實(shí)數(shù)和虛數(shù), complex128 為復(fù)數(shù)的默認(rèn)類型。

復(fù)數(shù)聲明

z 表示復(fù)數(shù)的變量名, complex128 表示復(fù)數(shù)類型, complex() 內(nèi)置函數(shù)用于為復(fù)數(shù)賦值。 x 和 y 分別表示構(gòu)成該復(fù)數(shù)的兩個 float64 類型的值, x 為實(shí)部, y 為虛部。

簡寫形式

對于 z 值可通過內(nèi)置函數(shù) real(z) 獲取該復(fù)數(shù)的實(shí)部,使用 imag(z) 獲取虛部。

go語言操作符 ^ 和 &^

很多語言都是采用 ~ 作為按位取反運(yùn)算符,Go 里面采用的是 ^ 。

如果作為二元運(yùn)算符,^ 表示按位異或,即:對應(yīng)位相同為 0,相異為 1。

操作符 ^,按位置零,例如:z = x ^ y,表示如果 y 中的 bit 位為 1,則 z 對應(yīng) bit 位為 0,否則 z 對應(yīng) bit 位等于 x 中相應(yīng)的 bit 位的值。

對于有符號的整數(shù)來說,是按照補(bǔ)碼進(jìn)行取反操作的(快速計(jì)算方法:對數(shù) a 取反,結(jié)果為 -(a+1) ),對于無符號整數(shù)來說就是按位取反

計(jì)算過程

以3為例? 3在內(nèi)存中補(bǔ)碼為 0*** 0011

取反? ? ? ? ? ? 1*** 1100

-1操作? ? ? ? ? 1*** 1011

除符號位取反? ? 1*** 0100 結(jié)果為-4

-------------------------------------------

以9為例 9在內(nèi)存中補(bǔ)碼為 0*** 1001

取反? ? ? ? ? ? 1*** 0110

-1操作? ? ? ? ? 1*** 0101

除符號位取反? ? 1*** 1010 結(jié)果為-10

-------------------------------------------

以-5為例 -5在內(nèi)存中為的補(bǔ)碼為 1*** 1011

為什么呢

-5源碼? ? ? ? ? 1*** 0101

除符號取反? ? ? 1*** 1010

+1操作? ? ? ? ? 1*** 1011

-------------------------------------------

那么-5取反怎么算

補(bǔ)碼 1***1011取反為 0***0100

因?yàn)榉栁粸?,所以是正數(shù)了,正數(shù)的補(bǔ)碼反碼源碼都是一個,所以是4

===================================

再看-1

-1源碼? ? ? ? ? 1*** 0001

除符號取反? ? ? 1*** 1110

+1操作? ? ? ? ? 1*** 1111

補(bǔ)碼 1*** 1111 取反為 0*** 0000

因?yàn)榉栁粸?,所以是正數(shù)了,正數(shù)的補(bǔ)碼反碼源碼都是一個,所以是0

go語言取反輸出的例子看這里


本文標(biāo)題:go語言取整數(shù) go語言取余數(shù)
文章URL:http://weahome.cn/article/hipdis.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部