Автор |
Сообщение |
|
|
Заголовок сообщения: |
|
|
|
Tема про 64-битные процессоры oтделена сюда: http://fforum.winglion.ru/viewtopic.php?t=2158
|
|
|
|
Добавлено: Чт июн 25, 2009 21:32 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
Alexander писал(а): Блин, Люди, а DNEGATE КТО-НИТЬ ВСПОМНИЛ? просто вот он и должен переносить в старшую часть единицу, а так она должна остаться в флаге переноса и кто помнит?
вопрос-то в другом
вы же не станете автоматически увеличивать разрядную сетку (по крайней мере в форте)
[quote="Alexander"]Блин, Люди, а DNEGATE КТО-НИТЬ ВСПОМНИЛ? просто вот он и должен переносить в старшую часть единицу, а так она должна остаться в флаге переноса и кто помнит?[/quote]
8) вопрос-то в другом
вы же не станете автоматически увеличивать разрядную сетку :) (по крайней мере в форте)
|
|
|
|
Добавлено: Чт июн 25, 2009 17:16 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
Блин, Люди, а DNEGATE КТО-НИТЬ ВСПОМНИЛ?
просто вот он и должен переносить в старшую часть единицу, а так она должна остаться в флаге переноса и кто помнит?
Блин, Люди, а DNEGATE КТО-НИТЬ ВСПОМНИЛ?
просто вот он и должен переносить в старшую часть единицу, а так она должна остаться в флаге переноса и кто помнит?
|
|
|
|
Добавлено: Ср июн 24, 2009 23:45 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
В Белоруссии спросите...
В Белоруссии спросите... :)
|
|
|
|
Добавлено: Вт июн 23, 2009 11:18 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
Mihail писал(а): В документации обычно отмечен диапазон знаковых чисел от -2147483648 до 2147483647.
Кстати не такая уж большая цифра..
Была на эту тему хохма, что мол 64 бита на персоналках решили ввести когда стало невозможно 32 битами представить капитал БГ с достаточной точностью
Блин, где российские 64-битовые процессоры?
[quote="Mihail"]В документации обычно отмечен диапазон знаковых чисел от -2147483648 до 2147483647.[/quote]
Кстати не такая уж большая цифра..
Была на эту тему хохма, что мол 64 бита на персоналках решили ввести когда стало невозможно 32 битами представить капитал БГ с достаточной точностью :D
Блин, где российские 64-битовые процессоры? :))
|
|
|
|
Добавлено: Вт июн 23, 2009 01:47 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
mOleg писал(а): ама проблема лежит в том, что после операции в краевом случае значение не помещается в разрядную сетку, а значит, это либо фича, либо баг в зависимости от идеалогии языка
В документации обычно отмечен диапазон знаковых чисел от -2147483648 до 2147483647.
Т.е. за изменения знака -2147483648 разработчики ответственности не несут.
[quote="mOleg"]ама проблема лежит в том, что после операции в краевом случае значение не помещается в разрядную сетку, а значит, это либо фича, либо баг в зависимости от идеалогии языка[/quote]
В документации обычно отмечен диапазон знаковых чисел от -2147483648 до 2147483647.
Т.е. за изменения знака -2147483648 разработчики ответственности не несут.
|
|
|
|
Добавлено: Вт июн 23, 2009 00:16 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
Проблема лежит глубже языков программирования. Это вопросы представления чисел, они решаются сначала на "понятийном" уровне. Как решим трактовать 0x80000000, так и будет. А реализации языка останется это решение претворить в жизнь.
Проблема лежит глубже языков программирования. Это вопросы представления чисел, они решаются сначала на "понятийном" уровне. Как решим трактовать 0x80000000, так и будет. А реализации языка останется это решение претворить в жизнь.
|
|
|
|
Добавлено: Пн июн 22, 2009 12:40 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
Lethargeek писал(а): Просто считайте результат беззнаковым числом
это в общем логично, но так не делают ни в Сях, ни в Форте обычно 8( собственно поэтому вопрос и возник.
[quote="Lethargeek"]Просто считайте результат беззнаковым числом[/quote]
это в общем логично, но так не делают ни в Сях, ни в Форте обычно 8( собственно поэтому вопрос и возник.
|
|
|
|
Добавлено: Пн июн 22, 2009 12:31 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
Просто считайте результат беззнаковым числом
Просто считайте результат беззнаковым числом ;)
|
|
|
|
Добавлено: Пн июн 22, 2009 05:11 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
ну, что ж,
сама проблема лежит в том, что после операции в краевом случае значение не помещается в разрядную сетку, а значит, это либо фича, либо баг в зависимости от идеалогии языка, потому что один ЯП может автоматом повысить разрядность числа, а другой проигнорировать сей факт.
Посему пока для того, чтобы пользователи сей факт могли почерпнуть из документации, она (дока) дополнена.
С другой стороны рука тянется написать 0x7FFFFFFF AND (то есть получить переполнение разрядной сетки), но это тоже будет фича.
ну, что ж,
сама проблема лежит в том, что после операции в краевом случае значение не помещается в разрядную сетку, а значит, это либо фича, либо баг в зависимости от идеалогии языка, потому что один ЯП может автоматом повысить разрядность числа, а другой проигнорировать сей факт.
Посему пока для того, чтобы пользователи сей факт могли почерпнуть из документации, она (дока) дополнена.
С другой стороны рука тянется написать 0x7FFFFFFF AND (то есть получить переполнение разрядной сетки), но это тоже будет фича.
|
|
|
|
Добавлено: Пн мар 30, 2009 01:53 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
Ситуация неисправима.
Есть 2<sup>32</sup> чисел, кодируемых 32-битным значением.
Из них 1 - ноль, 2<sup>31</sup> положительных и отрицательных взаимно "обратных" по операции NEGATE пар, и оставшееся одно число, не имеющее такой пары... в принципе...
Так что, сей факт надо просто знать и понимать, когда в программе следует опасаться его проявления в виде глюка. Так же, как опасаться глюков от переполнения при сложении/вычитании/умножении/делении и т.д. и т.п.
Ситуация неисправима.
Есть 2<sup>32</sup> чисел, кодируемых 32-битным значением.
Из них 1 - ноль, 2<sup>31</sup> положительных и отрицательных взаимно "обратных" по операции NEGATE пар, и оставшееся одно число, не имеющее такой пары... в принципе...
Так что, сей [b]факт[/b] надо просто знать и понимать, когда в программе следует опасаться его проявления в виде глюка. Так же, как опасаться глюков от переполнения при сложении/вычитании/умножении/делении и т.д. и т.п.
|
|
|
|
Добавлено: Пн мар 30, 2009 01:48 |
|
|
|
|
|
Заголовок сообщения: |
ограничения операции ABS (и NEGATE) |
|
|
вот, столкнулся с тем, что ABS на значении 0x80000000(максимальное отрицательное число) ничего не делает, а по логике бы должен оказаться 0? В стандарте об этом ничего не сказано, и в Форт-системах тоже. Вот и думаю, описать ли это как фичу, либо исправлять ситуацию. По логике должно получиться число 1.0 (двойной длины) а значит 0 в младшем разряде
вот, столкнулся с тем, что ABS на значении 0x80000000(максимальное отрицательное число) ничего не делает, а по логике бы должен оказаться 0? В стандарте об этом ничего не сказано, и в Форт-системах тоже. Вот и думаю, описать ли это как фичу, либо исправлять ситуацию. По логике должно получиться число 1.0 (двойной длины) а значит 0 в младшем разряде
|
|
|
|
Добавлено: Вс мар 29, 2009 23:24 |
|
|
|
|