purebasic.info
http://purebasic.info/phpBB3ex/

If Len(Text$)<>0 ; зачем приравнивание?
http://purebasic.info/phpBB3ex/viewtopic.php?f=1&t=4889
Страница 3 из 3

Автор:  AZJIO [ Вт июн 12, 2018 1:10 pm ]
Заголовок сообщения:  Re: If Len(Text$)<>0 ; зачем приравнивание?

Пётр писал(а):
Если переменная знаковая (т. е. старший бит хранит признак того что число положительное или отрицательное), то есть вероятность что результат будет отрицательным потому что установлен старший бит. Т. е. это не потому что дескриптор отрицательный, а из-за особенностей знаковых переменных.

Разве это не движком воспринимается? допустим 8 бит позволяет задать число от 0 до 255, если мы используем старший бит под знак, значит в 7 бит вмещаем число до 127, и диапазон от -127 до +127, всё равно 256 значений. Возможно тип по умолчанию воспринимается как знаковый а в С++ на одинаковую ширину и знаковые и беззнаковые типы. Ну в общем понятно.

Автор:  Smitis [ Пн июн 18, 2018 12:57 am ]
Заголовок сообщения:  Re: If Len(Text$)<>0 ; зачем приравнивание?

AZJIO писал(а):
а где это написано? Вообще дескриптор непонятный тип данных, так и пишут тип HANDLE или HWIND, ну взависимости как его назовут авторы своего языка, они же сами называют функции, ключевые слова и типы данных, возможно это просто бинарное число заданное просто по-порядку, типа если последний дескриптор был 5 следующие типа будет 6. Просто в этой парадигме непонятно зачем нужны отрицательные числа. Ну если только идентификаторы событий системных элементов типа кнопки закрытия, сворачивания, границы окна, прокрутки, но это не дескриптор.

Написано в MSDN. HANDLE - это указатель. HWND определён через HANDLE, соответственно, указатель тоже. Так как в PB нет беззнакового целого, указатель может быть отрицательным.

Автор:  balex1978 [ Пн июн 18, 2018 11:29 am ]
Заголовок сообщения:  Re: If Len(Text$)<>0 ; зачем приравнивание?

Хендл в даном примере неиспользуется.
Хендл, если на него смотреть как начисло со знаком может иметь отрицательные значения.
Len и длинна строки неможет быть меньше ноля т. е. отрицательная.

Страница 3 из 3 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/