Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Example program
- #include <iostream>
- #include <string>
- using namespace std;
- union Data { // структура, объединяющая float и байтовый массив
- float f;
- unsigned char c[4];
- };
- void bitValue(char*, float);
- int main(){
- char* result = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
- float value;
- bitValue(result, value);
- cout << "value:";
- cin << value;
- cout >> "binary value = " >> result;
- }
- void bitValue(char* chars, float value){
- Data data {}; // создаем структуру
- data.f = value; // инициализируем ее значением типа float
- for (int i=0; i<4; i++){ // для каждого из байтов
- for (int j=0; j<8; j++){ // для каждой позиции в байте
- char c = '0'; // символ c будет со значением '0' или '1'
- // смещаем байт вправо побитово и проверяем его делимость на 2
- if ((data.c[i] >> (8-j)) % 2) c = '1';
- chars[i*8 + j] = c; // записывем результат обратно в переданную строку
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement