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[32];
- float value = 3.14;
- cin >> value;
- bitValue(result, 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] >> (7-j)) % 2) c = '1';
- chars[i*8 + j] = c; // записывем результат обратно в переданную строку
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement