日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
一文解析Go中Int的最大數(shù)值

本文由go語言教程欄目給大家介紹Go 中 Int 的最大數(shù)值 ,希望對需要的朋友有所幫助!

成都創(chuàng)新互聯(lián)公司長期為上千家客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為公主嶺企業(yè)提供專業(yè)的成都網(wǎng)站設計、網(wǎng)站制作,公主嶺網(wǎng)站改版等技術服務。擁有十多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

總結(jié):

import "math/bits"const (
    MaxUint uint = (1 << bits.UintSize) - 1
    MaxInt int = (1 << bits.UintSize) / 2 - 1
    MinInt int = (1 << bits.UintSize) / -2)

背景:

我想你知道,uint類型的大小與uint32uint64相同,具體取決于您所在的平臺。通常,只有在沒有接近最大值風險的情況下,才會使用無尺寸的版本,因為沒有尺寸規(guī)格的版本可以使用“本機”類型,這取決于平臺,并且它往往更快。

請注意,更 “快” 是因為使用非本機類型需要處理器執(zhí)行額外的數(shù)學計算和邊界檢查,以便模擬更大或更小的整數(shù)。因此,處理器(或編譯器的優(yōu)化代碼)性能會比添加邊界檢查的代碼要好。

話雖如此,在某些情況下,了解您正在使用的內(nèi)容仍然很有用。

“math/bits“ 包中含有以字節(jié)為單位的uint大?。ㄗg者注:UintSize )。要確定最大值,將 1 左移許多位,再減去 1。即:(1 << bits.UintSize) - 1

請注意,在計算 uint 的最大值時,您通常需要將其顯式放入一個 uint(或更大的類型)類型變量中,否則編譯器可能會失敗,因為它會默認嘗試將該計算分配給一個有符號int(很明顯,它不適合),所以:

const MaxUint uint = (1 << bits.UintSize) - 1

這是您問題的直接答案,但您可能對一些相關的計算感興趣。

根據(jù) spec,uintint 的大小始終相同。

因此,我們也可以使用這個常量來確定 int 的最大值,方法是采用相同的答案并除以 2,然后減去 1。 即:(1 << bits.UintSize) / 2 - 1

以及 int 的最小值,通過將 1 移位那么多位并將結(jié)果除以 -2。 即:(1 << bits.UintSize) / -2

總之:

** MaxUint: ** (1 << bits.UintSize) - 1

** MaxInt: ** (1 << bits.UintSize) / 2 - 1

** MinInt: ** (1 << bits.UintSize) / -2

完整示例(應與下圖相同):

package mainimport (
    "fmt"
    "math"
    "math/bits"
    "runtime"
    "strconv")func main() {
    var mi32 int64 = math.MinInt32    var mi64 int64 = math.MinInt64    var i32 uint64 = math.MaxInt32    var ui32 uint64 = math.MaxUint32    var i64 uint64 = math.MaxInt64    var ui64 uint64 = math.MaxUint64    var ui uint64 = (1 << bits.UintSize) - 1
    var i uint64 = (1<

輸出:

MinInt32: -2147483648
 MaxInt32:  2147483647MaxUint32:  4294967295
 MinInt64: -9223372036854775808
 MaxInt64:  9223372036854775807MaxUint64:  18446744073709551615
  MaxUint:  18446744073709551615
   MinInt: -9223372036854775808
   MaxInt:  9223372036854775807MaxUint: 18446744073709551615MinInt: -9223372036854775808MaxInt: 9223372036854775807系統(tǒng)架構(gòu): gc amd64 darwin
Int 大小: 64

網(wǎng)站標題:一文解析Go中Int的最大數(shù)值
當前URL:http://www.5511xx.com/article/djsshig.html