計算解析

計算題解析

一、變量a是一個64位有符號的整數,初始值用16進製表示爲:0xf000 0000 0000 0000;變量b是一個64位有符號的整數,初始值用16進製表示爲:0x7FFF FFFF FFFF FFFF。則a-b的結果用10進製表示爲多少?2^62+2^61+2^60+1
  • 首先,我們可以得出:0x7FFF FFFF FFFF FFFF + 1 = 0x8000 0000 0000;
  • 因此:0x7FFF FFFF FFFF FFFF = 0x8000 0000 0000 - 1;
a - b = 0xf000 0000 0000 0000 - ( 0x8000 0000 0000 - 1 )
		= 0xf000 0000 0000 0000 -  0x8000 0000 0000 + 1
		= 0x7000 0000 0001
		= 7 * 16^15 + 1 * 16 ^ 0
		= 7 * 2 ^ 60 + 1
		= ( 2 ^ 2 +2 ^ 1+ 2 ^ 0) * 2 ^ 60 + 1
		= 2 ^ 62 + 2 ^ 61 + 2 ^ 60 + 1
二、已知 i = 5,int s = (i++) + (++i) + (i- -) + (- -i);s = ()//s的值是什麼?
  • i ++ :i 先參與運算,再 加 1;++i:i 先加 1,再參與運算
s = (i++) + (++i) + (i- -) + (- -i)
   = ( 5 ) + ( ++6 ) + ( 7-- ) + ( --6 )
   = 5+7+7+5
   = 24
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章