Мой процессор может выполнять арифметические операции только с 8-битными или 16-битными целыми числами без знака.
1) Это означает, что размер слова для этого процессора составляет 16 бит, правильно?
Операции над словами — O(1).
Причина этого связана с фактической реализацией работы процессора на уровне схемы, верно?
Если бы я добавил два слова и в результате получилось бы число длиной более 16 бит, мог бы я указать следующее?
1) процессор может сложить числа, но сообщит только о 16 младших значащих цифрах.
2) чтобы также сообщать более 16 бит, процессор должен иметь программное обеспечение, позволяющее выполнять эти операции с большими числами (числа, которые не помещаются в слово).
Окончательно,
Допустим, у меня есть слово w, представляющее собой 16-разрядную цифру, и мне нужны восемь младших значащих цифр. Я могу сделать w & 0xFF. Какова временная сложность этой операции? Это O (1) также из-за реализации процессора на уровне схемы?
O(1)
означает, что требуется постоянное время независимо от размера ввода. Не уверен, что это значимый вопрос здесь, так как размер ввода фиксирован на 16 бит и не может расти в любом случае (или, скорее, вам не нужно учитывать ничего, кроме наименее значимого слова, чтобы добраться до последних восьми бит ). - person Thilo   schedule 25.04.2016