дополнение two, почему имя “два”

Linq преобразует операторы в операторы SQL и выполняет их в базу данных.

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

Поэтому в совокупности

var debts = storeDB.Orders.toList()
        .Where(o => o.Paid == false)
        .OrderByDescending(o => o.DateCreated);
26
задан mochidino 9 April 2010 в 00:11
поделиться

3 ответа

Дополнение к двум появилось, когда кто-то понял, что «становится отрицательным», вычтя 1 из 0 и позволив откатить биты, на самом деле, сделал упрощенную арифметику со знаком, потому что не нужно делать никаких специальных проверок, чтобы проверить, является ли число отрицательным или не. Другие решения дают вам разрыв между -1 и 0. Единственная странность в дополнении к двум состоит в том, что в вашем диапазоне вы получаете еще одно отрицательное число, чем положительное число. Но тогда другие решения дают вам странные вещи, такие как +0 и -0.

Согласно Википедии, само название происходит от математики и основано на способах упрощения вычитания, когда у вас ограниченное количество мест. Система на самом деле является «дополнительным дополнением», и поскольку двоичная система является базой два, она становится «дополнением к двум». И оказывается, что «свой комплемент» назван в честь «уменьшенного радикального дополнения», то есть радиуса минус один. Если вы посмотрите на это для десятичного числа, значения за именами имеют больше смысла.

Метод дополнений (Википедия)

34
ответ дан staticsan 28 November 2019 в 07:18
поделиться

В системе десятичной нумерации основание равно десять :

  • дополнение дополнения называется десять дополнение
  • уменьшенное радиксное дополнение называется дополнением девяток

В системе двоичной нумерации основание равно два :

  • дополнение к основанию называется дополнением к двум
  • уменьшенное радикальное дополнение называется дополнением к

Источник: https://en.wikipedia.org/wiki/Method_of_complements

1
ответ дан George 28 November 2019 в 07:18
поделиться

Вы можете сделать то же самое на других базах. С десятичным числом у вас будет 9-дополнение, где каждая цифра X заменена на 9-X, а 10-кратное дополнение числа является дополнением до 9 плюс один. Затем вы можете вычесть, добавив десятичное дополнение, предполагая фиксированное количество цифр.

Пример - в 4-значной системе с учетом вычитания

 0846
-0573
=0273

Сначала найдите дополнение к 573 до 9, что составляет 9-0 9-5 9-7 9-3 или 9426
дополнение до 10 к 573 равно 9426 + 1 или 9427
Теперь добавьте дополнение до 10 и отбросьте все, что содержит 4 цифры

   0846
  +9427      .. 10's complement of 573
= 10273      .. toss the 'overflow' digit
=  0273      .. same answer

Очевидно, это простой пример. Но аналогия уместна. Интересно, какое отрицательное значение в 4-значном дополнении до 10? 5000!

Что касается этимологии, я бы предположил, что дополнение термина 1 является дополнением в том же смысле, что дополнительный угол от геометрии равен 90 градусам минус угол, то есть это часть, которая остается, когда вы вычитаете данное из какое-то стандартное значение. Не уверен, однако, в том, что дополнение "2" имеет смысл.

9
ответ дан 28 November 2019 в 07:18
поделиться
Другие вопросы по тегам:

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