#include <windows.h> #include <math.h> int main (void) { int val = pow(16.0, 0); // = 1 int val1 = 1 << 16; //65536 //0xFFFF = 65535 из шестнадцатеричной в десятичную int val2 = 0xF * pow(16.0, 3) + 0xF * pow(16.0, 2) + 0xF * pow(16.0, 1) + 0xF * pow(16.0, 0); //0b1111 = 15 из двоичной в десятичную int val4 = 1 * pow(2.0, 3) + 1 * pow(2.0, 2) + 1 * pow(2.0,1) + 1 * pow(2.0, 0); return 0; }
К примеру у нас есть десятичное число 1010 - как его разложить на составляющие:
1 * (10 ^ 3) + 0 * (10 ^ 2) + 1 * (10 ^ 1) + 0 * (10 ^ 0) = 1010
Где знак ^ это возведение в степень, число 10- основание системы счисления.
Теперь у нас есть шестнадцатеричное число 0xF0F0 - как его разложить на составляющие:
15 * (16 ^ 3) + 0 * (16 ^ 2) + 15 * (16 ^ 1) + 0 * (16 ^ 0) = 0xF0F0
Где число 16- основание системы счисления.