CPP 中的8進位 10進位 16進位

來源:互聯網
上載者:User

1、C和C++都沒有提供位元的表達方法。

2、C,C++語言中,如何表達一個八位元呢

     如果這個數是 876,我們可以斷定它不是八位元,因為八位元中不可能出7以上的阿拉伯數字。但如果這個數是123、是567,或12345670,那麼它是八位元還是10進位數,都有可能。

     所以,C,C++規定,一個數如果要指明它採用八進位,必須在它前面加上一個0,如:123是十進位,但0123則表示採用八進位。

     int 0123;

     這就是八位元在C、C++中的表達方法。但是有一個例外就是轉意符'\'。

     因為C,C++規定不允許使用斜杠加10進位數來表示字元,所以 :

'?' //ASCII值是63
'\077' //是8進位表示'?',0可以省略,因為C,C++規定不允許使用斜杠加10進位數來表示字元
'\0x3F' //是16進位表示'?'

3、 C,C++規定,16進位數必須以 0x開頭

      int 0x15A

      其中的x也也不區分大小寫。(注意:0x中的0是數字0,而不是字母o)。

註:

1) 8進位和16進位只能用達無符號的正整數,如果你在代碼中裡:-078,或者寫:-0xF2,C,C++並不把它當成一個負數。

2) Qt中把十進位整型值轉換成16進位 的字串方法。   

   int a = 63;     QString s = QString::number(a, 16);                   // s == "3f"     QString t = QString::number(a, 16).toUpper();     // t == "3F"

3) QString 儲存16進位值 

//將字串以16進位形式輸出  QString cmd = 0x0a;  qDebug() <<" cmd:"<< cmd.toAscii().toHex(); 

4)QString 按照字串表面格式 轉換成16進位

QString str = "FF";  bool ok;  int hex = str.toInt(&ok, 16);       // hex == 255, ok == true 0xFF  int dec = str.toInt(&ok, 10);       // dec == 0, ok == false  

4) QByteArray 儲存16進位值 

static const char mydata[] = {          0x00, 0x00, 0x03, 0x84, 0x78, 0x9c, 0x3b, 0x76,          0xec, 0x18, 0xc3, 0x31, 0x0a, 0xf1, 0xcc, 0x99,          0x6d, 0x5b      };        QByteArray bd = QByteArray::fromRawData(mydata, sizeof(mydata));      qDebug() <<"bd.data:" <<bd.data();      qDebug() <<"bd.toHex():"<<bd.toHex();//輸出16進位值  

5) QChar 儲存16進位值,列印

QChar c = 0x0A;    QByteArray array;  array.append(c);    qDebug() << array.toHex();//結果是"0a"  

 6)char* 儲存16進位,列印

char c[] = {0x0A,0x0B,'\0'};    QByteArray array(c);    qDebug() << array.toHex();//結果 "0a0b"   

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.