Описание тега sign-extension

1 ответ

Расширение знака с использованием конкатенации

Мне нужно сделать расширение знака от 4-х разрядного числа до 32-х разрядного числа.. поэтому я пытаюсь повторить MSB 28 раз, чтобы это выглядело так: assign x={28'b{a[3]},a[3:0]}; но ошибка в том, что: Синтаксическая ошибка рядом с "{" х определяет…
28 окт '15 в 23:09
2 ответа

Как сложить целые числа со знаком в более широкую сумму на IA32. 64-битная сумма 32-битных подписанных целых?

Я пытаюсь суммировать список целых чисел со знаком на Ассамблее 32, но мне нужно только суммировать целые числа без знака. Вы знаете какой-нибудь способ сделать это? Моя программа пытается суммировать целые числа и сохранять в resultado, размер кото…
05 ноя '17 в 17:54
2 ответа

Какой самый эффективный способ в Java подписать расширение произвольной длины битов?

Скажем, например, я упаковал три 10-битных целых числа со знаком в целое число Java. Я могу легко извлечь 10 бит: int unpacked = packed & 0x3FF; packed >>= 10; etc ... Но теперь мне нужно подписать-расширить верхний бит (бит 9 справа). Ест…
13 фев '19 в 16:43
1 ответ

C - Казалось бы, неподписанный int является расширением знака при сдвиге вправо?

Поэтому я пытался протестировать супер короткую функцию для получения целочисленного значения определенных битов от x до y из целого числа, но у меня возникли некоторые проблемы с происходящим расширением знака. Я попытался привести к unsigned int и…
29 ноя '14 в 04:23
0 ответов

Gfortran знак-расширение для работы с битами

Я использовал zext() функция с компилятором Sun Studio Fortan, для преобразования integer(kind=1) в integer(kind=4), чтобы иметь возможность манипулировать битами с ibits() функция. например: ! Accessing the most significant bit of a byte status int…
28 сен '15 в 13:21
1 ответ

Как подписать расширение числа дополнения до двух, указанного в аргументах программы в mips (сборка)

Я пытаюсь подписать расширение числа дополнения до двух, которое я получаю из аргументов программы в мипс. Как бы я это сделал?
2 ответа

Требуется ли расширение знака или нуля при добавлении 32-битного смещения к указателю для ABI x86-64?

Описание: я искал ассемблерный код, чтобы направлять мои оптимизации и видеть множество расширений со знаком или нулем при добавлении int32 к указателю. void Test(int *out, int offset) { out[offset] = 1; } ------------------------------------- movsl…
1 ответ

Ollydbg: знак расширения с помощью Movsx

Movsx знак-расширяет регистр с 1 право? Так почему в Ollydbg я получил это: До: После: мне следует иметь FFFFFF65 вместо 00000065 в ECX нет? Спасибо!
12 ноя '15 в 11:25
1 ответ

Знак, выходящий из переменной битовой ширины

Вот код на C++: #include <iostream> #include<limits.h> using namespace std; void sign_extending(int x,unsigned b) { int r; // resulting sign-extended number int const m = CHAR_BIT * sizeof(x) - b; r = (x << m) >> m; cout <…
06 авг '16 в 10:35
7 ответов

Немного умнее '&' с операндом со знаком и без знака

Я столкнулся с интересным сценарием, в котором я получил разные результаты в зависимости от правильного типа операнда, и я не могу понять причину этого. Вот минимальный код: #include <iostream> #include <cstdint> int main() { uint16_t ch…
1 ответ

Знак расширяет 11 бит до 32 бит

Как подписать расширение 11-битного числа до 32-битного числа в C++? У меня есть следующая функция, но она не возвращает правильное расширение знака, как ожидалось: unsigned int signExtend11to32ui(int i) { int mask = 2047; // 0x7FF or 0000 0111 1111…
11 мар '17 в 07:59
4 ответа

В чем необходимость расширения знака?

Рассмотрим следующий фрагмент кода C - char sum_char(char a,char b) { char c = a+b; return c; } Это включает в себя - Преобразовать второй параметр в знак расширения. Вставить подписанный параметр расширения в стек как b. Преобразовать первый параме…
02 окт '12 в 14:25
3 ответа

Расширение знака, сложение и вычитание двоичного в C

Как бы я пошел о реализации расширения знака от 16 бит до 32 бит в коде C?Я должен использовать побитовые операторы. Мне также нужно сложить и вычесть; Может кто-то указать мне верное направление? Я сделал первые 4, но остальное смутил. Я должен вкл…
25 мар '15 в 02:24
1 ответ

Неверное расширение знака C++/qt

Я запускаю следующий код на архитектуре Intel для настольных компьютеров x64 (компилятор gcc, linux) и на RaspberryPi Arm (кросс-компилятор gcc). quint32 id; id=((quint32)ref[1]); id|=((quint32)ref[2])<<8; id|=((quint32)ref[3])<<16; id|=…
23 мар '14 в 00:21
0 ответов

MIPS - Знак Расширение 8-разрядного регистра 2SC до 32-разрядного 2SC

Я пытаюсь написать программу, которая принимает два 8-битных аргумента программы 2SC, либо в виде двоичных файлов (например, 0b10000000), либо шестнадцатеричных (например, 0x80), а затем знак расширяет их до 32 бит. Вот инструкции, которые я имею до…
01 мар '19 в 20:38
0 ответов

Добавлять значения без знака расширения?

Я знаю, что процессор не заботится о знаковом бите из-за дополнения до двух. Но при использовании разных размеров операндов значение источника получает знак, расширенный до размера адресата. xor rax, rax add rax, byte 0xAD ; adds 0xFFFFFFFFFFFFFFAD …
26 сен '15 в 11:40
2 ответа

Сдвиги, типы и знаки расширения в Си

У меня есть следующий код: unsigned char chr = 234; // 1110 1010 unsigned long result = 0; result = chr << 24; И теперь результат будет равен 18446744073340452864, что 1111 1111 1111 1111 1111 1111 1111 1111 1110 1010 0000 0000 0000 0000 0000 …
28 май '14 в 00:45
2 ответа

Специализация битового поля в питоне

Вот код на C++: void sign_extending(int x) { int r; // resulting sign extended number goes here struct {signed int x:5 ;} s; r = s.x = x; cout << r; } void Run() { int x=29; // this 29 is -3 ( 11101 ) in 5 bits // convert this from using 5 bit…
05 авг '16 в 17:20
1 ответ

Об инструкции addi в MIPS

Я узнал, что расширение знака происходит в непосредственном значении MIPS addi инструкция. ( http://www.cs.umd.edu/class/sum2003/cmsc311/Notes/Mips/addi.html) Тем не менее, я не уверен, когда он будет распространяться до минус значения. Я старался m…
09 апр '14 в 10:56
1 ответ

Как подписать расширение числа различного размера до 16 бит в C?

Число различного размера может быть либо 10-битным, либо 12-битным, либо 15-битным. Я хочу подписать расширение непосредственных битов так, чтобы 16-разрядное целое число имело то же значение, что и 10, 12 или 15-разрядное значение. РЕДАКТИРОВАТЬ Из…
14 апр '18 в 20:58