|
 | | |
| Autor | Správa |
Adaminho
 Užívateľ
 Založený: 03.01.2008 Príspevky: 112 Bydlisko: Snina
 | Zaslal: Ut 20.12.11 19:13 |   |
zdravím, akou funkciou docielim v c++ to, aby mi čislo v dvojkovej sústave napr. 10011111 rozdelilo na a=1001 b=1111 ? potrebujem to na prevod z dvojkovej do sestnastkovej sustavy.. |
| |
  |
 |
Fico
 Skúsený užívateľ
 Založený: 11.01.2009 Príspevky: 1049
 | Zaslal: Ut 20.12.11 19:53 |   |
Docieli sa to bitovymi operatormi AND ( & ), OR ( | ), XOR ( ^ ) bitovy posun vpravo ( >> ), bitovy posun vlavo ( << ), atd. Pre tento pripad staci operator AND a posun vpravo. Priklad:
| kód: | #include <iostream>
#include <bitset>
int main()
{
int binaryData = 0b10011111;
int hiNibble = 0, loNibble = 0;
hiNibble = ( binaryData & 0b11110000 ) >> 4; // potrbujeme horne 4 bity, takze spodne staci znulovat a posunut vysledok doprava o 4 bity
loNibble = binaryData & 0b00001111; // pre spodne 4 bity nam staci znulovat horne styri
std::cout << "Decimal values: " << hiNibble << " and " << loNibble << std::endl;
std::cout << "Binary values: " << std::bitset<4>( hiNibble ) << " and " << std::bitset<4>( loNibble ) << std::endl;
return 0;
} |
|
| |
   |
 |
|
Nemôžete pridávať nové témy do tohto fóra. Nemôžete odpovedať na témy v tomto fóre. Nemôžete upravovať svoje príspevky v tomto fóre. Nemôžete mazať svoje príspevky v tomto fóre. Nemôžete hlasovať v tomto fóre.
|
| |