



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第第頁Go語言中的整數(shù)類型
在Go語言中,整型可以細(xì)分成兩個種類十個類型。
有符號整型
int8:表示8位有符號整型;其類型寬度為8位,即1字節(jié),表示范圍:-128~127。
int16:表示16位有符號整型;其類型寬度為16位,即2字節(jié),表示范圍:-32768~32767。
int32:表示32位有符號整型;其類型寬度為32位,即4字節(jié),表示范圍:-2147483648~2147483647。
int64:表示64位有符號整型;其類型寬度為64位,即8字節(jié),表示范圍:-9223372036854775808~9223372036854775807。
int:根據(jù)不同的底層平臺(UnderlyingPlatf(or)m),表示32或64位整型。除非對整型的大小有特定的需求,否則你通常應(yīng)該使用int表示整型。其類型寬度在32位系統(tǒng)下是32位,而在64位系統(tǒng)下是64位。表示范圍:在32位系統(tǒng)下是-2147483648~2147483647,而在64位系統(tǒng)是-9223372036854775808~9223372036854775807。
packagemainimport("fmt""math""unsafe")funcmain(){varnum8int8=127varnum16int16=32767varnum32int32=math.MaxInt32varnum64int64=math.MaxInt64varnumint=math.MaxIntfmt.Printf("typeofnum8is%T,sizeofnum8is%d,num8=%dn",num8,unsafe.Sizeof(num8),num8)fmt.Printf("typeofnum16is%T,sizeofnum16is%d,num16=%dn",num16,unsafe.Sizeof(num16),num16)fmt.Printf("typeofnum32is%T,sizeofnum32is%d,num32=%dn",num32,unsafe.Sizeof(num32),num32)fmt.Printf("typeofnum64is%T,sizeofnum64is%d,num64=%dn",num64,unsafe.Sizeof(num64),num64)fmt.Printf("typeofnumis%T,sizeofnumis%d,num=%dn",num,unsafe.Sizeof(num),num)}其中,程序中的Printf方法,可以使用%T格式說明符(FormatSpecifier)打印出變量的類型。而unsafe包的Sizeof函數(shù)接收變量并返回它的字節(jié)大小。使用unsafe包可能會帶來可移植性問題,這里只是作為演示使用。如果你將num8的值改為128運(yùn)行后就會報錯,因?yàn)閕nt8類型的最大值為127。該程序運(yùn)行后輸出如下:
typeofnum8isint8,sizeofnum8is1,num8=127typeofnum16isint16,sizeofnum16is2,num16=32767typeofnum32isint32,sizeofnum32is4,num32=2147483647typeofnum64isint64,sizeofnum64is8,num64=9223372036854775807typeofnumisint,sizeofnumis8,num=9223372036854775807無符號整型
uint8:表示8位無符號整型;其類型寬度為8位,即1字節(jié),表示范圍:0~255。
uint16:表示16位無符號整型;其類型寬度為16位,即2字節(jié),表示范圍:0~65535。
uint32:表示32位無符號整型;其類型寬度為32位,即4字節(jié),表示范圍:0~4294967295。
uint64:表示64位無符號整型;其類型寬度為64位,即8字節(jié),表示范圍:0~18446744073709551615。
uint:根據(jù)不同的底層平臺,表示32或64位無符號整型。其類型寬度在32位系統(tǒng)下是32位,而在64位系統(tǒng)下是64位。表示范圍在32位系統(tǒng)下是0~4294967295,而在64位系統(tǒng)是0~18446744073709551615。
packagemainimport("fmt""math""unsafe")funcmain(){varnum8uint8=128varnum16uint16=32768varnum32uint32=math.MaxUint32varnum64uint64=math.MaxUint64varnumuint=math.MaxUintfmt.Printf("typeofnum8is%T,sizeofnum8is%d,num8=%dn",num8,unsafe.Sizeof(num8),num8)fmt.Printf("typeofnum16is%T,sizeofnum16is%d,num16=%dn",num16,unsafe.Sizeof(num16),num16)fmt.Printf("typeofnum32is%T,sizeofnum32is%d,num32=%dn",num32,unsafe.Sizeof(num32),num32)fmt.Printf("typeofnum64is%T,sizeofnum64is%d,num64=%dn",num64,unsafe.Sizeof(num64),num64)fmt.Printf("typeofnumis%T,sizeofnumis%d,num=%dn",num,unsafe.Sizeof(num),num)}該程序運(yùn)行結(jié)果如下:
typeofnum8isuint8,sizeofnum8is1,num8=128typeofnum16isuint16,sizeofnum16is2,num16=32768typeofnum32isuint32,sizeofnum32is4,num32=4294967295typeofnum64isuint64,sizeofnum64is8,num64=18446744073709551615typeofnumisuint,sizeofnumis8,num=18446744073709551615uint無符號整型和int有符號整型的區(qū)別就在于一個u,有u的就表示無符號,沒有u的就表示有符號。
接下來講講它們表示范圍的差別,例如int8和uint8,它們的類型寬度都為8位,能表示的數(shù)值個數(shù)為,對于無符號整數(shù)來說,表示的都是正數(shù),所以表示范圍為0~255,一共256個數(shù)。而對于有符號整數(shù)來說,就得借一位來表示符號,所以表示范圍為-128~127,剛好也是256個數(shù)。
對于int8,int16等這些類型后面有跟一個數(shù)值的類型來說,它們能表示的數(shù)值個數(shù)是固定的。而對于int,uint這兩個沒有指定其大小的類型,在32位系統(tǒng)和64位系統(tǒng)下的大小是不同的。所以,在有的時候例如在二進(jìn)制傳輸、讀寫文件的結(jié)構(gòu)描述(為了保持文件的結(jié)構(gòu)不會受到不同編譯目標(biāo)平臺字節(jié)長度的影響)等情況下,使用更加精確的int32和int64是更好的。
不同進(jìn)制的表示方法
一般我們習(xí)慣使用十進(jìn)制表示法,當(dāng)然,有時候我們也會使用其他進(jìn)制表示一個整數(shù)。在Go中,以0b或0B開頭的數(shù)表示二進(jìn)制,以0o或0O開頭的數(shù)表示八進(jìn)制,以0x或0X開頭的數(shù)表示十六進(jìn)制。
packagemainimport("fmt")funcmain(){varnum2int=0b1100011varnum8int=0o143varnum10int=99varnum16int=0X63fmt.Println("num2=",num2)fmt.Println("num8=",num8)fmt.Println("num10=",num10)fmt.Println("num16=",num16)}該程序的四個數(shù)都表示十進(jìn)制的99,程序運(yùn)行后輸出如下:
num2=99num8=99num10=99num16=99當(dāng)然,你也可以使用fmt包的格式化輸出相應(yīng)的進(jìn)制數(shù)。
packagemainimport("fmt")funcmain(){varnum2int=0b1100011varnum8int=0o143varnum10int=99varnum16int=0X63fmt.Printf("2進(jìn)制數(shù)num2=%bn",num2)fmt.Printf("8進(jìn)制數(shù)num8=%on",num8)fmt.Printf("1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/TS 21310:2025 EN Traditional Chinese medicine - Microscopic examination of medicinal herbs
- 【正版授權(quán)】 ISO/TS 14812:2025 EN Intelligent transport systems - Vocabulary
- 【九江】2025年上半年江西九江市事業(yè)單位“才匯九江”招聘高層次人才373人筆試歷年典型考題及考點(diǎn)剖析附帶答案詳解
- 2025年公共營養(yǎng)師之三級營養(yǎng)師能力檢測試卷A卷附答案
- 【張家界】2025年湖南張家界市市直事業(yè)單位公開招聘急需緊缺人員41人筆試歷年典型考題及考點(diǎn)剖析附帶答案詳解
- 中國高考評價體系解讀課件
- 第四章氧化還原反應(yīng)第三節(jié)氧化還原反應(yīng)的方向和限度無機(jī)化學(xué)電
- 完璧歸趙教學(xué)課件
- Brand KPIs for milk:Lac Del in Mexico-英文培訓(xùn)課件2025
- 2025年小學(xué)科學(xué)課程標(biāo)準(zhǔn)考試測試題及答案
- 壓力容器事故應(yīng)急預(yù)案
- 招聘工作人員筆試考務(wù)手冊
- 2024年廣東茂名信宜市事業(yè)單位招聘工作人員144人筆試【重點(diǎn)基礎(chǔ)提升】模擬試題(共500題)附帶答案詳解
- 2024年秋新版人教版三年級英語上冊電子課本
- 2024-2034年中國油桐種植行業(yè)市場調(diào)查研究及投資戰(zhàn)略咨詢報告
- 六君子湯的現(xiàn)代中藥制劑研究
- 管理思維培訓(xùn)
- 中國古代安全文化發(fā)展及其啟示
- 教師信息技術(shù)能力提升培訓(xùn)課件
- 2022年宜賓機(jī)場集團(tuán)有限公司招聘考試真題
- 金屬與石材幕墻工程技術(shù)規(guī)范-JGJ133-2013含條文說
評論
0/150
提交評論