第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

do + 操作時(shí)相同數(shù)據(jù)類型的行為方式

do + 操作時(shí)相同數(shù)據(jù)類型的行為方式

Go
偶然的你 2022-06-01 11:35:36
剛開始在 packthub 上學(xué)習(xí) Go。在其中一個(gè)測驗(yàn)中,我看到了這個(gè)問題并在我的 VScode 上運(yùn)行了它。我想知道為什么我會(huì)得到這個(gè)答案。這是代碼。package main   import "fmt"     func main() {         a := uint8(255)         b := uint8(127)         c := a + b         fmt.Println(a, "+", b, "=", c)    }輸出是126。請問如何?
查看完整描述

2 回答

?
倚天杖

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊

你首先要了解uint8。Uint8 的范圍從 0 到 255,不超過這個(gè)范圍。您已將“a”和“b”聲明為 uint8。您使用隱式類型聲明“c”,使其成為 uint8,最大值為 255。這就是為什么您的輸出為 126。(不是 127,因?yàn)椤?”也被計(jì)算在內(nèi))


要完成這項(xiàng)工作,只需更改“a”和“b”的類型


package main

import "fmt" 


func main() {

   a := uint16(255)

   b := uint16(127)

   c := a + b

   fmt.Println(a, "+", b, "=", c)

}


查看完整回答
反對 回復(fù) 2022-06-01
?
桃花長相依

TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超8個(gè)贊

您將兩個(gè)變量都聲明為 uint8 ,這意味著它在內(nèi)存中最多占用 8 位,并且這只是一個(gè)正值,因此最大數(shù)字可能是 2^8 (256)。


現(xiàn)在,當(dāng)您添加兩個(gè)數(shù)字時(shí),它只是將其相加并返回輸出 => 255 + 127 = 382;


但是變量 c 也是 uint8 類型,并且這個(gè)數(shù)字超出了它的范圍,因此為了將這個(gè)數(shù)字放入變量中,它用最大數(shù)字減去輸出并在變量 C 中進(jìn)行調(diào)整。


a + b = 255 + 127 = 382


c = 382 - 256

  = 126


查看完整回答
反對 回復(fù) 2022-06-01
  • 2 回答
  • 0 關(guān)注
  • 114 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)