2013-06-02 48 views
-6

下面是代碼,它的工作原理,將其轉換成66 ASCII等效B.Java:將數字轉換爲ASCII碼,它是如何工作的?

int ascii = 66; 
char character = (char) ascii; 

的什麼我不明白的是,它是如何工作的?如果這是一份考試試卷,你會寫什麼?

問題在於,描述程序如何將其轉換爲「B」。是char的功能?

+0

'char'是一種類型,沒有任何操作可將66顯示爲'B'。實際上,顯示'66'需要轉換成兩個字符54和54,其打印爲'6'和'6'。 –

回答

0

「CHAR」=> 「INT」 被稱爲Widening Primitive Conversion 和 「INT =>炭」 被稱爲Narrowing Primitive Conversion

在Java中,一個字符僅僅是一個16位的整數。在將整數(32位整數)轉換爲字符時,您將保留int的16個最低有效位,並丟棄高16位。這被稱爲縮小轉換。 Java字符表示爲Unicode字符集的成員。 Unicode值爲'B' is 66

int ascii = 66;

將整數值66分配給ascii

char character =(char)ascii;

character存儲整數ascii的前16位。存儲66不會超過16位,所以char變量可以正確使用

+0

@BrianRoach我知道:(我匆忙保存評論,我現在已經完成了它 –

+0

謝謝,那麼將一個字符(B)轉換爲66是否會擴大轉換? – user2421111

+0

你的意思是66是什麼?int or a char?看看我的編輯 –

相關問題