簡體   English   中英

c++ 如何將字符轉換為十六進制

[英]c++ how to convert a character to hex

我知道在輸出十六進制時我可以使用

cout<<hex<<(unsigned int)(unsigned char)ch<<endl 

但我通過使用從標准輸入中獲取一個字符

cin.read((char*)&ch , sizeof(unsigned char))

這次如何將ch更改為hex

cin.read((char*)&ch , sizeof(unsigned char));
cout << hex << (unsigned int)(ch) << endl;

應該管用。

例如,如果您嘗試將單個字符轉換為十六進制以使用 if 進行數學運算,則可以使用以下語句將 ascii 字符表示轉換為其實際數字:

char x = 'A';
int y = x;
if(y > 47 && y < 58)  //this covers 0-9
   y = y - 48;
else if (y > 64 && y < 71) // this covers A-F
   y = y - 55;

並使用 y 作為您的新號碼。 如果您需要多於一位數,您可以將它放在一個循環中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM