Поддерживает ли VB6 неподписанные типы данных? - PullRequest
6 голосов
/ 02 февраля 2011

Чтобы договориться о ставке с одним из моих коллег, я хотел бы выяснить, поддерживает ли VB6 изначально любые типы данных без знака.

Я считаю, что ответом будет «нет», но я могу »Кажется, я не нашел официальной документации, подтверждающей это.Простая ссылка на документ Microsoft будет приемлемым ответом;историческое обоснование того, почему такие типы не поддерживаются, будет дополнительным бонусом.

Ответы [ 5 ]

9 голосов
/ 02 февраля 2011

Как сказал Крис, они не поддерживаются, за исключением типа данных Byte, который доступен только как беззнаковый, как видно из этого списка типов данных: Сводка типов данных

На странице упоминается VBA, но также упоминается Visual Studio 6.0, и поддерживаемые типы данных были одинаковыми.

Не думаю, что вы найдете официальную документацию, объясняющую, почему они не добавили неподписанныетипы данных, так как это обычно не так, потому что, вероятно, дело не в том, «почему мы не должны поддерживать это», а в том, что «стоило бы дополнительных усилий, чтобы добавить это».

Отредактировано, чтобы упомянуть исключение типа данных Byte, как указано MarkJ.

2 голосов
/ 02 февраля 2011

Единственным целым типом без знака является байт.

1 голос
/ 02 февраля 2011

Не поддерживается для VB6, оно было добавлено, как объяснено по этой ссылке в VB.NET.

0 голосов
/ 06 января 2014

Существует возможность передачи шестнадцатеричных значений в тип Long, который будет храниться как беззнаковый, пока знаковый бит не является частью значения. так, например,

&HFFFF = -1 

but &HFFFF& = 65535 

обратите внимание, что эти 16-битные значения передаются в тип Long, который составляет 32 бита. поэтому знак немного не тронут. но если вам нужны 32 бита, одним из предложений было использование типа Double, кто-то упоминал об этом раньше.

Что касается необходимости в неподписанных типах в целом, Unsigned Long будет 32-битным двоичным файлом по сравнению с байтом, который составляет всего 8 бит. Попробуйте записать 24-битные регистры через последовательный порт с байтовыми типами .. :) Я полагаю, что в VBA знаковый бит сидит как осколок на пути битовой логики ..

в любом случае, надеюсь, это кому-нибудь поможет.

ура

Норвуд, Массачусетс

0 голосов
/ 02 февраля 2011

Не поддерживается.

Полезная информация о моделировании их: http://www.vbforums.com/showthread.php?t=578430

...