-1
Я конвертирую номер int
в двоичный код, но мне нужно подписать расширение до 16 бит f, двоичный код равен 011, то есть мне нужно распечатать его в 0000000000000011
. У меня также есть проблемы в оценке двоичного кода отрицательного числа, если это больше, чем 7.Расширение знака до 16 бит
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
void main()
{
int x;
char inst[4][15]={"addi","8"};
int rem, num=0, i=1;
int y;
int num1 = atoi(inst[1]);
if (num1 < 0)
{
x=atoi(inst[1]);
x = (x * -1) -1;
printf("x %d",x);
while(x > 0)
{
rem = x % 2;
x= x/2;
num = (rem * i)+num;
i = i * 10;
y = num^111;
}
printf("binary no: %d",y);
}
else
{
x = atoi(inst[1]);
while(x > 0)
{
rem = x % 2;
x = x/2;
num = (rem * i) + num;
i = i * 10;
}
printf("binary no: %d", num);
}
}
Так что же делать выше код? –
@SherineShafei В вашем коде столько избыточности ... –
этот код принимает int-номер внутри строки, преобразует в целое число, а затем в двоичный номер. Мне нужно расширить это двоичное число до 16 бит –