math.Exp2(10)就是計算2的10次方。
創(chuàng)新互聯(lián)建站自2013年起,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目做網(wǎng)站、網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元果洛州做網(wǎng)站,已為上家服務(wù),為果洛州各地企業(yè)和個人服務(wù),聯(lián)系電話:028-86922220
下面是一個例子
package main
import "fmt"
import "math"
func main() {
fmt.Printf("%f\n",
math.Exp2(10))
fmt.Printf("%f\n",
math.Exp2(4))
}
單向散列函數(shù)(one-wayfunction)有一個輸入和一個輸出,其中輸入稱為消息(message),輸出稱為散列值 (hashvalue)。單向散列函數(shù)可以根據(jù)消息的內(nèi)容計算出散列值,而散列值就可以被用來檢查消息的完整性。
這里的消息不一定是人類能夠讀懂的文字,也可以是圖像文件或者聲音文件。單向散列函數(shù)不需要知道消息實
際代表的含義。無論任何消息,單向散列函數(shù)都會將它作為單純的比特序列來處理,即根據(jù)比特序列計算出散
列值。
散列值的長度和消息的長度無關(guān)。無論消息是1比特,還是100MB,甚至是IOOGB,單向散列函數(shù)都會計算出固 定長度的散列值。以SHA-I單向散列函數(shù)為例,它所計算出的散列值的長度永遠是160比特(20字節(jié))。
單向散列函數(shù)的相關(guān)術(shù)語有很多變體,不同參考資料中所使用的術(shù)語也不同,下面我們就介紹其中的兒個。 單向散列函數(shù)也稱為 消息摘要函數(shù)(message digest function) 、 哈希函數(shù) 或者 雜湊函數(shù) 。 輸入單向散列函數(shù)的消息也稱為 原像 (pre-image) 。
單向散列函數(shù)輸出的散列值也稱為 消息摘要 (message digest)或者 指紋 (fingerprint)。 完整性 也稱為一致性。
MD4是由Rivest于1990年設(shè)計的單向散列函數(shù),能夠產(chǎn)生128比特的散列值(RFC1186,修訂版RFC1320)。不 過,隨著Dobbertin提出尋找MD4散列碰撞的方法,因此現(xiàn)在它已經(jīng)不安全了。
MD5是由Rwest于1991年設(shè)計的單項散列函數(shù),能夠產(chǎn)生128比特的散列值(RFC1321)。
MD5的強抗碰撞性已經(jīng)被攻破,也就是說,現(xiàn)在已經(jīng)能夠產(chǎn)生具備相同散列值的兩條不同的消息,因此它也已
經(jīng)不安全了。
MD4和MD5中的MD是消息摘要(Message Digest)的縮寫。
SHA-1是由NIST(NationalInstituteOfStandardsandTechnology,美國國家標準技術(shù)研究所)設(shè)計的一種能夠產(chǎn)生 160比特的散列值的單向散列函數(shù)。1993年被作為美國聯(lián)邦信息處理標準規(guī)格(FIPS PUB 180)發(fā)布的是 SHA,1995年發(fā)布的修訂版FIPS PUB 180-1稱為SHA-1。
SHA-1的消息長度存在上限,但這個值接近于2^64比特,是個非常巨大的數(shù)值,因此在實際應(yīng)用中沒有問題。
SHA-256、SHA-384和SHA-512都是由NIST設(shè)計的單向散列函數(shù),它們的散列值長度分別為256比特、384比特和
512比特。這些單向散列函數(shù)合起來統(tǒng)稱SHA-2,它們的消息長度也存在上限(SHA-256的上限接近于 2^64 比特,
SHA-384 和 SHA-512的上限接近于 2^128 比特)。這些單向散列函數(shù)是于2002年和 SHA-1 一起作為 FIPS PUB 180-2 發(fā)布的 SHA-1 的強抗碰撞性已于2005年被攻破, 也就是說,現(xiàn)在已經(jīng)能夠產(chǎn)生具備相同散列值的兩條不同的消 息。不過,SHA-2還尚未被攻破。
單純數(shù)據(jù)運算的話,Go語言執(zhí)行效率要跟高于PHP. Go語言更偏向于工程學,體積大, 邏輯簡單, 有一定運算量, 不適合處理業(yè)務(wù). php適合做邏輯.
很多語言都是采用 ~ 作為按位取反運算符,Go 里面采用的是 ^ 。
如果作為二元運算符,^ 表示按位異或,即:對應(yīng)位相同為 0,相異為 1。
操作符 ^,按位置零,例如:z = x ^ y,表示如果 y 中的 bit 位為 1,則 z 對應(yīng) bit 位為 0,否則 z 對應(yīng) bit 位等于 x 中相應(yīng)的 bit 位的值。
對于有符號的整數(shù)來說,是按照補碼進行取反操作的(快速計算方法:對數(shù) a 取反,結(jié)果為 -(a+1) ),對于無符號整數(shù)來說就是按位取反
計算過程
以3為例? 3在內(nèi)存中補碼為 0*** 0011
取反? ? ? ? ? ? 1*** 1100
-1操作? ? ? ? ? 1*** 1011
除符號位取反? ? 1*** 0100 結(jié)果為-4
-------------------------------------------
以9為例 9在內(nèi)存中補碼為 0*** 1001
取反? ? ? ? ? ? 1*** 0110
-1操作? ? ? ? ? 1*** 0101
除符號位取反? ? 1*** 1010 結(jié)果為-10
-------------------------------------------
以-5為例 -5在內(nèi)存中為的補碼為 1*** 1011
為什么呢
-5源碼? ? ? ? ? 1*** 0101
除符號取反? ? ? 1*** 1010
+1操作? ? ? ? ? 1*** 1011
-------------------------------------------
那么-5取反怎么算
補碼 1***1011取反為 0***0100
因為符號位為0,所以是正數(shù)了,正數(shù)的補碼反碼源碼都是一個,所以是4
===================================
再看-1
-1源碼? ? ? ? ? 1*** 0001
除符號取反? ? ? 1*** 1110
+1操作? ? ? ? ? 1*** 1111
補碼 1*** 1111 取反為 0*** 0000
因為符號位為0,所以是正數(shù)了,正數(shù)的補碼反碼源碼都是一個,所以是0
go語言取反輸出的例子看這里
本文題目:go語言+數(shù)值計算 go語言%v
當前網(wǎng)址:http://jinyejixie.com/article32/dosgisc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、網(wǎng)站改版、面包屑導航、網(wǎng)站收錄、網(wǎng)站設(shè)計公司、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)