Bitwise Shift Left
Bitwise o operador esquerdo deslocar desloca o número à esquerda. Os bocados os mais significativos são perdidos enquanto o número se move à esquerda, e vacated menos bocados significativos são zero. As seguintes mostras a respresentação binária de 43.
0101011 (decimal 43)
Deslocando os bocados à esquerda, nós perdemos o bocado o mais significativo (neste caso, um zero), e o número é acolchoado com um zero em menos bocado significativo. O seguinte é o número resultante.
1010110 (decimal 86)
Bitwise Shift Right
Bitwise o operador direito deslocar desloca a direita do número. Zero são introduzidos ao vacated a maioria de bocados significativos, e vacated menos bocados significativos são perdidos. As seguintes mostras a respresentação binária do número 43.
0101011 (decimal 43)
Deslocando os bocados à direita, nós perdemos menos bocado significativo (neste caso, esse), e o número é acolchoado com um zero no bocado o mais significativo. O seguinte é o número resultante.
0010101 (decimal 21)
O seguinte programa usa Bitwise a direita deslocar e Bitwise E para indicar um número como um número binário de 16 bocados. O número está deslocado para a direita sucessivamente de 16 para baixo a zero e ANDed com 1 para ver Bitwise se o bocado for ajustado. Um método alternativo seria usar Bitwise máscaras sucessivas com OU o operador.
#include <stdio.h>
int main()
{
int counter, num;
printf("Enter a number: ");
scanf("%d", &num);
printf("%d is binary: ", num);
for (counter=15; counter>=0; counter--)
printf("%d", (num >> counter) & 1);
putchar('\n');
return 0;
}
Funções para binário - conversões decimais
As duas funções dadas em seguida são para binário a decimal e o decimal à conversão binária. A função dada ao lado do converso um número decimal ao número binário correspondente suporta até 32 - número binário mordido. Você pode usar o este ou programá-lo dado antes para a conversão como por suas exigências.
|