Знак десятичного числа Lua?

Я видел учебник, как только это ступило посредством создания машины от микросхем TTL. Это имело ту же систему команд как PDP-8, который является очень - и я имею в виду очень - простой, таким образом, фактическую архитектуру машины легко реализовать таким образом.

PDP-8 FAQ упоминает книгу: " Искусство Цифрового Дизайна, " второй выпуск, Franklin Prosser и David Winkel (Prentice-Hall, 1987, ISBN 0-13-046780-4). Это также упоминает людей, реализующих его в FPGA.

, Учитывая экстремальную простоту этой архитектуры ЦП и доступность PDP-8 кодируют или ссылочные реализации, с которыми это могла бы быть хорошая начальная точка для нагреваний.

, С другой стороны, мое знакомство реализовало ползунок (сокращенный ARM) на FPGA как университетский проект, выполненный неким Steve Furber (знаменитый выпускник Acorn). Учитывая, что это могло быть сжато в формат, достаточно маленький для университетского проекта, это могло бы также быть хорошее начало.

5
задан Nick Dandoulakis 23 August 2009 в 10:34
поделиться

4 ответа

Вы можете проверить наличие знака следующим образом:

i = -2
if i == math.abs(i) then -- or i >= 0
   print "positive"
else
   print "negative"
end
-3
ответ дан 18 December 2019 в 09:08
поделиться
function math.sign(x)
   if x<0 then
     return -1
   elseif x>0 then
     return 1
   else
     return 0
   end
end
12
ответ дан 18 December 2019 в 09:08
поделиться

На случай, если кто-нибудь наткнется на это:, вот моя несколько более короткая версия:

function sign(x)
  return x>0 and 1 or x<0 and -1 or 0
end
8
ответ дан 18 December 2019 в 09:08
поделиться

Я думаю, что идея состоит в том, чтобы вернуть 1 или -1, чтобы представить положительное или отрицательное. Я не думаю, что вы хотели бы, чтобы он возвращал 0. Может иметь катастрофические последствия. Представьте себе, что вы пытаетесь изменить знак значения, умножив его на знак (x), когда он возвращает 0. Вместо изменения знака вы измените значение на 0.

Я бы придерживался

function sign(x)
  return (x<0 and -1) or 1
end
2
ответ дан 18 December 2019 в 09:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: