2015-02-11 66 views
1

我是C++的初學者,我想寫一個打印字母表('a','b',....'z')和數字('0')的ASCII值的程序。 .'9' )。如何在C++中打印int的ASCII值?

我可以使用「int()」函數打印字母表的ASCII值。

實施例:

char a = 'a'; 

std::cout<<int(a); 

上面的代碼的結果是 「97」,如我的預期。

但是,我不知道如何打印數字的ASCII值。例如,如果我有int 2,我想要得到2的ASCII值,即48。

我試過使用函數「int()」,但結果是int值,而不是ASCII值。

+2

你做了完全相同的事情,改變了引號內的內容。 – Jon 2015-02-11 21:20:07

+0

在您的第一句話中,您將數字顯示爲char,如果將它們用作字符,會發生什麼情況。 char a ='8'; – Mark 2015-02-11 21:20:34

+0

這對我有用。謝謝。 – 2015-02-11 21:35:21

回答

3

舉例來說,如果我有INT 2,我想要得到的2的ASCII值,它的48

std::cout << (2 + '0'); 

將打印的2的ASCII值。

如果一個變量a被稱爲是0 - 9,你可以使用:

std::cout << (a + '0'); 

打印對應a ASCII值。

+4

這是有效的,因爲C++標準保證了字符'0','1'等等的值是連續的,所以例如'0'+ 9 =='9',即使系統不使用基於ASCII的字符集。信件沒有類似的保證。例如,在基於EBCDIC的系統上,「a'+ 25!='z''。 – 2015-02-11 21:32:12