Как я могу проверить число без знака?
Я использую I/O Trap #4 для чтения числа. Это дает мне номер, однако он не упоминает, читается ли он как подписанный или без знака. Я бы предположил, что это потому, что он просто читает его как есть, и это может быть либо.
Как я могу проверить, если мое значение не подписано? То есть: как я могу убедиться, что он был между 0 и 2^32 включительно?
1 ответ
Нет способа "проверить" это в коде; Подпись числа не является свойством, которое хранится в реестре. Вы должны знать, как интерпретировать биты, т.е. какие инструкции использовать при обработке числа, поскольку разные инструкции обрабатывают биты по-разному.
Документация кажется... не хватает в этом отношении. Я бы порекомендовал просто проверить это, что произойдет, если вы введете -1
? Вы должны получить 0xffffffff
в реестре.