Advertisement
Guest User

Untitled

a guest
Sep 18th, 2014
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. x = 123456789;
  2. x ^= 0;
  3.  
  4. console.log(x.toString(2));
  5. parseInt(x);
  6.  
  7. x = 12345678912345;
  8. x ^= 0;
  9.  
  10. console.log(x.toString(2));
  11. parseInt(x);
  12.  
  13. /*
  14.     Результат разный, потому что обычно число в JavaScript имеет 64-битный
  15.     формат с плавающей точкой. При этом часть битов (52) отведены под цифры,
  16.     часть (11) отведены под хранение номера позиции, на которой стоит
  17.     десятичная точка, и один бит — знак числа.
  18.  
  19.     Это означает, что максимальное целое, которое можно хранить, занимает
  20.     52 бита.
  21.  
  22.     Побитовые операции преобразуют число в 32-битовое целое. При этом
  23.     старшие из этих 52 битов будут отброшены. Если число изначально
  24.     занимало больше чем 31 бита (еще один бит хранит не цифру, а знак) —
  25.     оно изменится.
  26. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement