千鋒教育Java入門(mén)全套視頻教程(java核心技術(shù),適合java零基礎(chǔ),Java

2. 進(jìn)制轉(zhuǎn)換
在計(jì)算機(jī)的世界里,只有0和1,我們?cè)谟?jì)算機(jī)里看到的所有東西,真正運(yùn)行的時(shí)候都要轉(zhuǎn)成二進(jìn)制機(jī)器碼才能被計(jì)算機(jī)識(shí)別。
2.1 進(jìn)制種類(lèi)
計(jì)算機(jī)進(jìn)制通常有:十進(jìn)制、二進(jìn)制、八進(jìn)制、十六進(jìn)制。計(jì)算機(jī)只能處理二進(jìn)制的數(shù)指和指。
(1) 十進(jìn)制:逢十進(jìn)一,基本符號(hào)0~9的十個(gè)數(shù)字。
(2) 二進(jìn)制:逢二進(jìn)一,基本符號(hào)0和1,在計(jì)算機(jī)中的數(shù)據(jù)都是以二進(jìn)制進(jìn)行存儲(chǔ)的。
(3) 八進(jìn)制:逢八進(jìn)一,基本符號(hào)0~7的八個(gè)數(shù)字。在Java中八進(jìn)制數(shù)據(jù)要以0開(kāi)頭,例如0123。
(4) 十六進(jìn)制:逢十進(jìn)一,基本符號(hào)0~9的十個(gè)數(shù)字加上A、B、C、D、E、F六個(gè)字母 ,在Java中十六進(jìn)制數(shù)據(jù)要以0x或0X開(kāi)頭,例如0x123D,0X123D。
2.2 原碼、反碼與補(bǔ)碼
(1)原碼
最簡(jiǎn)單的機(jī)器數(shù)表示法。用最高位表示符號(hào)位,1表示負(fù)號(hào),0表示正號(hào)。其他位存放該數(shù)的二進(jìn)制的絕對(duì)值。原碼最大的問(wèn)題就在于一個(gè)數(shù)加上他的相反數(shù)不等于零。
(2)反碼
正數(shù)的反碼還是等于原碼,負(fù)數(shù)的反碼就是他的原碼除符號(hào)位外,按位取反。最高位表示符號(hào)位,1表示負(fù)號(hào),0表示正號(hào)
(3)補(bǔ)碼
正數(shù)的補(bǔ)碼等于他的原碼。負(fù)數(shù)的補(bǔ)碼等于他的反碼+1。最高位是符號(hào)位,1表示負(fù)號(hào),0表示正號(hào)。
2.3 進(jìn)制轉(zhuǎn)換
(1) 八進(jìn)制轉(zhuǎn)二進(jìn)制
八進(jìn)制的每一位數(shù)轉(zhuǎn)為與之對(duì)應(yīng)的4位二進(jìn)制數(shù)即可,相反可以將二進(jìn)制轉(zhuǎn)為八進(jìn)制。
(2)十進(jìn)制轉(zhuǎn)二進(jìn)制
整數(shù)部分:除2取余,逆序排列。
小數(shù)部分:乘2取整,順序排列。
(3) 十六進(jìn)制轉(zhuǎn)二進(jìn)制
十六進(jìn)制的每一位數(shù)轉(zhuǎn)為與之對(duì)應(yīng)的4位二進(jìn)制數(shù)即可,相反可以將二進(jìn)制轉(zhuǎn)為十六進(jìn)制。
(4)二進(jìn)制轉(zhuǎn)十進(jìn)制
按權(quán)相加,把二進(jìn)制數(shù)首先寫(xiě)成加權(quán)系數(shù)展開(kāi)式,然同按十進(jìn)制加去規(guī)則求和。
(5)十進(jìn)制轉(zhuǎn)十六進(jìn)制
整數(shù)部分除以16取余數(shù),直到無(wú)法整除。小數(shù)部分乘以16取整,然后再將小數(shù)乘以16取整,直到達(dá)到要求精度。