LINUX.ORG.RU

javascript, типы


0

0

нужно решить проблему типами. Выражение 1 << 32 выдает единицу, т.к. число 1 ,видимо, имеет внутренний тип int, который переполняется. Как сказать javasciprt, что число 1 имеет другой тип (больше 4 байт, как int) ??

★★★

По-моему тут дело в побитовом операторе.

Цитата:
The bitwise operators such as bitwise OR (|) and bitwise AND (&) operate on numbers so they type-convert their operands to numbers. However, they also only operate on 32 bit signed integers so given the (possibly type-converted) numeric value they call the internal ToInt32 function with that number as its argument and use the returned value as their operand. That returned value is always a 32 bit signed integer.

Взято отсюда: http://www.jibbering.com/faq/faq_notes/type_convert.html

Deleted
()

Может воспользоваться Math.pow(2, 32) ?

sanwashere ★★
()
Ответ на: комментарий от Chumka

А при чем тут javascript? :)
Там ясно сказано, что побитовые операторы JS переводят
все операнды в signed int 32. И ничего тут не поделаешь.

Deleted
()
Ответ на: комментарий от Deleted

угу, надо было мне по ссылке сходить. спасибо

Chumka ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.