軟體開發資料類型基礎

來源:互聯網
上載者:User

標籤:

  一個位元組包含8位, 第一位是符號位, 8位就可以是代碼27次方, 所以範圍為-2^7 ~ 2^7 - 1, 即-128到+127;

  各種資料類型:

    byte類型就是1個位元組,能夠代表的範圍為-2^7 ~ 2^7 - 1;

    short類型為2個位元組,能夠代表的範圍為-2^16 ~ 2^16 - 1;

    int類型為4個位元組,能夠代表的範圍為-2^31 ~ 2^31 - 1;

    long類型為8個位元組,能夠代表的範圍為-2^64 ~ 2^64 - 1;

    flaot的類型也為4位元組, 但是它的範圍比int大得多(來自百度知道:位符號位+8位指數(q)+23位底數(b),其解釋出來的形式是:b^q,由於指數q是8位有符號整數,範圍是-128 ~ 127,23位的底數(無符號)最大值就是2 ^ 23,算上指數的話,最大可以表達到2 ^ 23 ^ 127,但是由於電腦的運算能力限制,並不能處理到如此大的數,但是其取值範圍也會比32位整數大很多。 由於float類型是一個冪計算式,所以很多時候並不能表達一個精確值,例如0.1,如果使用float在記憶體中會被表示為0.10000000000000001,如果進行反覆計算將會導致非常大的誤);

    double類型也為8個位元組;

  移位元運算, 有符號左移"<<":

public class Test {    public static void main(String args[]) {        System.out.println( 10<<1 ); //相當於: 10*2        System.out.println( 10<<2 ); //相當於:10*2^2        System.out.println( 10<<3 ); //相當於:10*2^3        System.out.println( 10<<4 ); //相當於:10*2^4    }}

//輸出:

  20
  40
  80
  160

  

NONO
出處:http://www.cnblogs.com/diligenceday/

  有符號右移動">>":

public class Test {    public static void main(String args[]) {        int num = 160;        System.out.println( num>>1 );        System.out.println( num>>2 );        System.out.println( num>>3 );        System.out.println( num>>4 );    }}
//輸出:80402010

   >>>:無符號右移,忽略符號位,空位都以0補齊;

   無符號右移有個特性必須記住,因為在二進位中:負數的值正數的取反+1 ,當我們對一個負數進行無符號右移, 那麼無符號右移的值將會非常大:

public class Test {    public static void main(String args[]) {        int num = -1;        System.out.println( num>>>1 );    }}
//輸出:2147483647

 

  ~:按位取反;

  &:按位且;

  |:按位或;

  ^:按位異或;

  但是這些玩意兒有什麼用呢, 參考如下的js代碼, 原文連結:

(!(~+[])+{})[--[~+""][+[]]*[~+[]] + ~~!+[]]+({}+[])[[~!+[]]*~+[]]

  會輸出:"sb"

 

  或者這樣裝逼...

((""[~+[]]++)+"")[(+[])]+(!+[]+{})[(~((~+[]+~+[])<<(-(~+[]))))]

  會輸出:"Ne"

 

  進位之間的轉化參考, 進位參考:

  10進位到2進位:

  

      

  2進位到10進位:

      

 

  

NONO
出處:http://www.cnblogs.com/diligenceday/

軟體開發資料類型基礎

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.