Публикации по теме 'twos-complement'
Дополнение до двух
Дополнение до двух
Путешествие в машину: как целые числа со знаком хранятся в памяти
В компьютере все хранится в битах, так как машина понимает только 0 и 1.
Числа следуют этому правилу и хранятся в двоичном формате. Последовательность 0 и 1, где каждая позиция соответствует степени 2. Обычно числа хранятся в одном или нескольких байтах, байт представляет 8 бит.
В примерах, которые я приведу ниже, я буду использовать 4-битные числа только для ясности, но их можно обобщить на..
Вопросы по теме 'twos-complement'
Как доказать, что утверждения C -x, ~ x + 1 и ~ (x-1) дают одинаковые результаты?
Я хочу знать логику этого утверждения, доказательства. Выражения C -x, ~ x + 1 и ~ (x-1) дают одинаковые результаты для любого x. Я могу показать это на конкретных примерах. Я думаю, что способ доказать это имеет какое-то отношение к свойствам...
1354 просмотров
schedule
26.11.2023
Почему нет лучшего представления для чисел с плавающей запятой, чем знак и величина?
У нас есть дополнение до 2 для целых чисел, которое позволяет нам выполнять операции, не беспокоясь о знаке. Это большая помощь на уровне реализации.
Точно так же у нас так много операций с плавающей запятой, и все же мы полагаемся на знак и...
169 просмотров
schedule
07.09.2023
Шестнадцатеричная строка со знаком для функции long int
Мне нужна функция для преобразования 32-битной или 24-битной шестнадцатеричной строки со знаком (в двух дополнениях) в длинное int. Должен работать как на 32-битных, так и на 64-битных машинах (независимо от размера long int) и работать независимо от...
3072 просмотров
schedule
29.07.2023
почему это называется дополнением до двух?
Возможный дубликат: два дополнения, почему имя два
почему использование знакового бита для представления отрицательных чисел называется «дополнением до 2»? Как появилось такое название, кто-нибудь может объяснить по-простому, большое...
142 просмотров
schedule
09.05.2022
почему Integer.MAX_VALUE + 1 == Integer.MIN_VALUE?
System.out.println(Integer.MAX_VALUE + 1 == Integer.MIN_VALUE);
правда.
Я понимаю, что целое число в Java 32-битное и не может превышать 2 31 -1, но я не могу понять, почему добавление 1 к его MAX_VALUE приводит к MIN_VALUE , а не к...
40533 просмотров
schedule
06.10.2022
Почему BitConverter сжимает мой уже выделенный массив? (Я пытаюсь предотвратить проблему дополнения до двух)
Я выделяю массив, который намеренно больше, чем результат BitConverter.GetBytes. Моя цель состоит в том, чтобы оставить последний байт пустым, чтобы я мог не допустить, чтобы это число рассматривалось как дополнение двух, и иметь tempPosBytes2[...
330 просмотров
schedule
29.02.2024
Побитовые операции и сдвиги
У меня проблемы с пониманием того, как и почему этот код работает именно так. Мой партнер по этому заданию закончил эту часть, и я не могу связаться с ним, чтобы узнать, как и почему это работает. Я пробовал несколько разных вещей, чтобы понять это,...
12813 просмотров
schedule
02.01.2024
Понимание сложения дополнения до двух
Я построил четырехбитный сумматор / вычитатель, использующий 4,1-битные полные сумматоры, а вход и выход - это числа с дополнением до двух.
Если X=0111 and Y=1000 , их сумма, очевидно, равна 1111.
В десятичном виде это эквивалентно 7 + 8, таким...
576 просмотров
schedule
27.07.2022
Нужна помощь в вычислении контрольной суммы
Я работаю над интерфейсом на Python для системы домашней автоматизации (ElkM1). У меня есть пример кода на С# ниже, который, по-видимому, правильно вычисляет контрольную сумму, необходимую при отправке сообщений в эту систему. Я собрал приведенный...
17444 просмотров
schedule
22.12.2022
Сборка MASM, работающая с отрицательными целыми числами
Мне было поручено написать программу на ассемблере, которая будет выполнять следующую арифметику:
((A + B) / C) * ((D - A) + E)
Мне удалось это сделать, когда отрицательные значения не используются, но предположим, что A = 5, B = 4, C = 3, D =...
7293 просмотров
schedule
15.11.2022
Почему java-метод Integer.toBinaryString(-128) выводит семь цифр?
Простой сценарий: у вас есть массив байтов
byte[] message = { 1, 2, 3 };
Чтобы распечатать его в двоичном формате, вы можете использовать код:
for (byte b : message) {
System.out.println(Integer.toBinaryString(0x100 +...
1287 просмотров
schedule
16.10.2022
Представление двойного слова в дополнении к двоичному числу?
Делаю свое первое задание на ассемблере и вот вопрос...
1. Найдите дополнительное представление каждого из следующих десятичных чисел длиной до двойного слова. (Этапы получения результатов должны отображаться, иначе вы получите ноль баллов.)
a...
3415 просмотров
schedule
09.03.2023
Сделать биты заданного диапазона более эффективными?
Давно я занимался битовыми манипуляциями и не уверен, что это можно сделать более эффективным способом.
Я хочу получить биты определенного диапазона из значения. Допустим, двоичный код значения: 0b1101101
Теперь я хочу получить 4-битный...
1382 просмотров
schedule
24.10.2022
минимальные биты для 2-секундного дополнения числа
Я наткнулся на вопрос, чтобы узнать 2 дополнения -32 . как определить минимальное количество битов, как -32 представлено в дополнениях до 2. 1100000 или 100000?
87 просмотров
schedule
12.06.2023
Понимание дополнения Two к float (метка датчика Texas Instruments)
Я нашел пример кода для извлечения температуры из тега датчика Texas Instruments на github: https://github.com/msaunby/ble-sensor-pi/blob/master/sensortag/sensor_calcs.py
Я не понимаю, что делает следующий код:
tosigned = lambda n:...
810 просмотров
schedule
28.07.2022
Какое самое отрицательное число можно представить в двоичном виде?
Кто-нибудь может объяснить, как найти ответ на этот вопрос? Мне нужно найти двоичное представление в 16-битном дополнении до 2.
487 просмотров
schedule
16.07.2023
Как обрабатывать целые числа со знаком в ARM?
У меня есть подпрограмма, и мне нужно вычислить функцию, которая включает в себя некоторое умножение и сложение внутри нее. Дело в том, что я не понимаю, как хранить целое число со знаком в памяти.
Использую ли я обычное целое число и работаю ли с...
3474 просмотров
schedule
01.10.2023
Дополнение до двух длинных целых чисел
Я хочу выполнить длинную целочисленную математику (128 бит) с помощью Intel I64 Assembler, и мне нужно создать дополнение до 2. Допустим, моя положительная ценность выражена в RDX: RAX.
Дополнение до 2 выполняется «перевернуть биты и добавить 1»....
1005 просмотров
schedule
30.10.2022
Преобразование n-битного целого числа из беззнакового в знаковое
Допустим, у меня есть целое число (32 бита), в котором хранится n-битное число без знака (где n ‹ 32). Как я могу эффективно преобразовать это в подписанную интерпретацию, используя два дополнения?
Короткий пример, чтобы пояснить, что я имею в...
1140 просмотров
schedule
05.06.2023
Нахождение n-битной длины 2-х дополнительных представлений числа
Пишу функцию с параметрами:
int nbit2s(long int x, long int n){
}
Я хочу взять 64-битное число x и выяснить, возможно ли 2-битное представление длины n в битах. Однако я ограничен использованием только побитовых операторов и исключен из...
327 просмотров
schedule
26.09.2022