Advertisement
MarMar_IV

FPU asi

Apr 6th, 2016
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.16 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <cmath>
  4. #include <stdio.h>
  5.  
  6. using namespace std;
  7.  
  8.  
  9. void PrintNumber(int num){
  10.     int bit;
  11.     char res[33];
  12.  
  13.     for (int i = 0; i < 32; i++){
  14.         bit = num & 0x01;
  15.  
  16.         res[31 - i] = bit + 48;
  17.  
  18.         num = num >> 1;
  19.     }
  20.     res[32] = '\0';
  21.  
  22.     cout << "BIN: " << res << endl;
  23. }
  24.  
  25. int Invert(int number, int bitnum){
  26.     int inv = 1 << bitnum;
  27.  
  28.     return number ^ inv;
  29. }
  30.  
  31. int SetBit(int number, int bitnum){
  32.     int set = 1 << bitnum;
  33.  
  34.     return number | set;
  35. }
  36.  
  37. int ClearBit(int number, int bitnum){
  38.     int set = 255;
  39.     set = Invert(set, bitnum);
  40.  
  41.     return number & set;
  42. }
  43.  
  44. void ParseNumber(float number, float &integer, float &fractial){
  45.     fractial = modf (number , &integer);
  46. }
  47.  
  48.  
  49. void FloatToBin(float number){
  50.     int i, j;
  51.     char* p;
  52.     float a = number;
  53.     p = (char *)&a;
  54.     p+=3;
  55.  
  56.     for (i = 0; i < sizeof(float); i++){
  57.         for (j = 7; j >=0 ; j--){
  58.             printf("%d", *p & (1 << j) ? 1 : 0);
  59.  
  60.             if ((i==0 && j==7) || (i==1 && j==7)){
  61.                 printf(" ");
  62.             }
  63.         }
  64.         p--;
  65.     }
  66. }
  67.  
  68. int main()
  69. {
  70.     FloatToBin(11.2);
  71.  
  72.  
  73.  
  74.     return 0;
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement