C++ Tutorial/Data Types/hexadecimal

Материал из C\C++ эксперт
Перейти к: навигация, поиск

Convert hex number to integer

#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;
long hex2int(const string& hexStr);
int main( ) {
  string str1 = "0x12AB";
  cout << hex2int(str1) << endl;
  string str2 = "12AB";
  cout << hex2int(str2) << endl;
}

long hex2int(const string& hexStr) {
  char *offset;
  if (hexStr.length( ) > 2) {
    if (hexStr[0] == "0" && hexStr[1] == "x") {
      return strtol(hexStr.c_str( ), &offset, 0);
    }else{
      cout << "hex must start with 0x";
      return 0;
    }
  }
}
4779
hex must start with 0x0

Fill space with ?

#include <iostream>
#include <iomanip>
using namespace std; 
int main(void){
   cout << hex << 100 << endl;
   cout << setfill("?") << setw(10) << 2343.10 << endl;
 }

Show the base in hexadecimal

#include <iostream>
#include <iomanip>
#include <string>
#include <sstream>
using namespace std;
int main( ) {
  stringstream ss;
  ss << showbase << hex << 16; // Show the base in hexadecimal
  cout << ss.str( ) << endl;
}
0x10