Float 754 to Hamming
x86_64 machine language (Linux), 16 bytes
0:       f2 48 0f 2a c7          cvtsi2sd %rdi,  %xmm0
5:       66 48 0f 7e c0          movq     %xmm0, %rax
a:       f3 48 0f b8 c0          popcnt   %rax,  %rax
f:       c3                      retq

Accepts a single 64-bit integer parameter in RDI, converts it to a floating-point value in XMM0, stores those bits back in RAX, and then computes the hamming weight of RAX, leaving the result in RAX so it can be returned to the caller.
Requires a processor that supports the POPCNT instruction, which would be Intel Nehalem, AMD Barcelona, and later microarchitectures.
To Try it online!, compile and run the following C program:
#include&lt;stdio.h&gt;
const char g[]=&quot;\xF2\x48\x0F\x2A\xC7\x66\x48\x0F\x7E\xC0\xF3\x48\x0F\xB8\xC0\xC3&quot;;
#define f(x) ((int(*)(long))g)(x)

int main(int a){
  printf(&quot;%d\n&quot;,f(22));
  printf(&quot;%d\n&quot;,f(714));
  printf(&quot;%d\n&quot;,f(0));
  printf(&quot;%d\n&quot;,f(1));
  printf(&quot;%d\n&quot;,f(4503599627370496L));
  printf(&quot;%d\n&quot;,f(4503599627370495L));
  printf(&quot;%d\n&quot;,f(1024));
  printf(&quot;%d\n&quot;,f(-1024));
  printf(&quot;%d\n&quot;,f(-4096));
  printf(&quot;%d\n&quot;,f(1000000000));
  printf(&quot;%d\n&quot;,f(-12345678));
}

Edit: Fixed segfault in TIO link.