надо вручную доставлять а во втором верхнем, это то что надо, мож это как то связано с переходом через ноль? 🤔
это связанно с представлением в дополнительном коде
двоичное n-значное число может закодировать числа от 0 до (2**n - 1), они получаются все положительные, а для кодирования отрицательных придумали взять верхнюю половину диапазона и использовать для кодирования отрицательных чисел, и получалось что самое большое число без знака соответствовало -1, при этом при сложении получалось что они оба уменьшают любое число к которому их прибавляют на -1, и аналогично с прочими отрицательными числами
вот этого прикола так и не понял
а что именно не понятно? я мог плохо объяснить...
А сложно, как все ну ладно, буду действовать по ситуации потому что у меня этот дополнительный код то не используется получается
используется, на x86 все отрицательные числа в дополнительном коде
Я с ним не работаю он же ополовинивает разрешение регистров, я с ними как с uint работаю
у тебя в любом случае будет ополовинивание, я бы не брал это в голову
Ополовинивания кстати нет, посмотри внимательно как алгоритм реализован
Обсуждают сегодня