Публикации по теме '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 просмотров

Почему BitConverter сжимает мой уже выделенный массив? (Я пытаюсь предотвратить проблему дополнения до двух)
Я выделяю массив, который намеренно больше, чем результат BitConverter.GetBytes. Моя цель состоит в том, чтобы оставить последний байт пустым, чтобы я мог не допустить, чтобы это число рассматривалось как дополнение двух, и иметь tempPosBytes2[...
330 просмотров

Побитовые операции и сдвиги
У меня проблемы с пониманием того, как и почему этот код работает именно так. Мой партнер по этому заданию закончил эту часть, и я не могу связаться с ним, чтобы узнать, как и почему это работает. Я пробовал несколько разных вещей, чтобы понять это,...
12813 просмотров

Понимание сложения дополнения до двух
Я построил четырехбитный сумматор / вычитатель, использующий 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 просмотров

Какое самое отрицательное число можно представить в двоичном виде?
Кто-нибудь может объяснить, как найти ответ на этот вопрос? Мне нужно найти двоичное представление в 16-битном дополнении до 2.
487 просмотров
schedule 16.07.2023

Как обрабатывать целые числа со знаком в ARM?
У меня есть подпрограмма, и мне нужно вычислить функцию, которая включает в себя некоторое умножение и сложение внутри нее. Дело в том, что я не понимаю, как хранить целое число со знаком в памяти. Использую ли я обычное целое число и работаю ли с...
3474 просмотров

Дополнение до двух длинных целых чисел
Я хочу выполнить длинную целочисленную математику (128 бит) с помощью Intel I64 Assembler, и мне нужно создать дополнение до 2. Допустим, моя положительная ценность выражена в RDX: RAX. Дополнение до 2 выполняется «перевернуть биты и добавить 1»....
1005 просмотров

Преобразование 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 просмотров