Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
32 битное представление чисел
|
|||
|---|---|---|---|
|
#18+
Добрый день. Изучаю сейчас побитовые операторы и операции с ними. Автор в самом начале урока рассказывает о том: авторНапример, вот число 314: 00000000000000000000000100111010 Чтобы получить -314, первый шаг – обратить биты числа: заменить 0 на 1, а 1 на 0: 11111111111111111111111011000101 Второй шаг – к полученному двоичному числу прибавить единицу, обычным двоичным сложением: 11111111111111111111111011000101 + 1 = 11111111111111111111111011000110. Итак, мы получили: -314 = 11111111111111111111111011000110 Но после Код: javascript 1. получилось никак не -314, а число 4294966982. И после Код: javascript 1. 2. получаю 11111111111111111111111011000110 Это ошибка у автора или это закономерность? Помогите разобраться пожалуйста с этим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2016, 10:13 |
|
||
|
32 битное представление чисел
|
|||
|---|---|---|---|
|
#18+
vdekameronИзучаю сейчас побитовые операторы и операции с ними.... это закономерность.... Закономерность Перед тем как изучать побитовые операции, разберись сначала с тем, что числа бывают разной длины: 8, 16,32,64,128 и 100500 битов. IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2016, 17:15 |
|
||
|
32 битное представление чисел
|
|||
|---|---|---|---|
|
#18+
vdekameronполучилось никак не -314, а число 4294966982.Целое со знаком, целое без знака... Суть в трактовке набора ноликов и единичек получателем этого числа. В ряде случаев единица самого старшего разряда обозначает отрицательное число (видимо, как раз об этом случае говорит автор урока). Такое представление довольно привычно для процессора (например, при арифметических операциях). В ряде других случаев число всегда считается положительным. В общем, по ситуации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2016, 21:44 |
|
||
|
32 битное представление чисел
|
|||
|---|---|---|---|
|
#18+
vdekameron, В JavaScript тип Number вроде имеет диапазон от -(2 53 - 1) до (2 53 - 1). Нет строгого разделения на целый и вещественный, так что такие "опыты" надо делать на языке, в котором есть 32-разрядный знаковый целый тип, например LongInt ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2016, 23:33 |
|
||
|
32 битное представление чисел
|
|||
|---|---|---|---|
|
#18+
бухалтер фантоццитак что такие "опыты" надо делать на языке, в котором есть 32-разрядный знаковый целый тип Зачем тогда автор в книге по javascript показывает то, что не соответствует javascript не понимаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2016, 15:51 |
|
||
|
32 битное представление чисел
|
|||
|---|---|---|---|
|
#18+
vdekameronЗачем тогда автор в книге по javascript показывает то, что не соответствует javascript не понимаю кто автор и какая книга? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2016, 16:43 |
|
||
|
32 битное представление чисел
|
|||
|---|---|---|---|
|
#18+
Изопропилкто автор и какая книга? Книга-сайт. И довольно таки известный ресурс. https://learn.javascript.ru/bitwise-operators ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2016, 18:35 |
|
||
|
32 битное представление чисел
|
|||
|---|---|---|---|
|
#18+
vdekameron, ParseInt трактует аргумент как беззнаковый. побитовые операции приводят аргумент(ы) к знаковому 32- разрядному, знаковый бит результата - расширяется влево сделай |0 и увидишь -314 в "книге" написано действительно не очень понятно, спецификация ECMAScript поставит всё на место. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2016, 19:25 |
|
||
|
32 битное представление чисел
|
|||
|---|---|---|---|
|
#18+
Я так понимаю что тут дело именно в parseInt хотя вот это я не понял - ИзопропилParseInt трактует аргумент как беззнаковый. А насчет того, что "сделай |0 и увидишь -314" Тут я понял. с таким же успехом поможет ^0 или ~~ которые не меняют целое число, только лишь отбрасывают дробную часть. Изопропилв "книге" написано действительно не очень понятно это мягко сказано. Меня это вообще запутало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2016, 20:21 |
|
||
|
32 битное представление чисел
|
|||
|---|---|---|---|
|
#18+
vdekameronА насчет того, что "сделай |0 и увидишь -314" Тут я понял. с таким же успехом поможет ^0 или ~~ которые не меняют целое число, только лишь отбрасывают дробную часть. не только. ещё до 32 бит операнды усекают(старшие биты отбрасывают) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2016, 20:33 |
|
||
|
32 битное представление чисел
|
|||
|---|---|---|---|
|
#18+
Изопропилспецификация ECMAScript поставит всё на место Не подскажите как правильно поиск задать. Не получается найти в спецификации это ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2016, 21:37 |
|
||
|
32 битное представление чисел
|
|||
|---|---|---|---|
|
#18+
Изопропил, Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2016, 11:52 |
|
||
|
32 битное представление чисел
|
|||
|---|---|---|---|
|
#18+
Изопропилvdekameron, http://www.ecma-international.org/ecma-262/5.1/Ecma-262.pdf 11.7.1 например А чем выгодно отличается от этого: https://learn.javascript.ru/bitwise-operators#битовый-сдвиг-влево ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2016, 12:41 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=39266866&tid=1445165]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
174ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 274ms |

| 0 / 0 |
