Dyskusja:C/Operatory: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
→‎Operacje_bitowe: nowa sekcja
Linia 72:
<source lang=c>
#include <stdio.h>
 
/*
https://stackoverflow.com/questions/699968/display-the-binary-representation-of-a-number-in-c
Chris Lutz
*/
void PrintBitsOfUChar(unsigned char v) {
int i; // for C89 compatability
for(i = 7; i >= 0; i--) putchar('0' + ((v >> i) & 1));
}
 
 
 
void TestBitwiseNot (unsigned char a ){
 
printf ("decimal number a = %3u;\t ", a );
printf ("it's binary expansion = ");
PrintBitsOfUChar(a);
printf("\n");
printf ("decimal number ~a = %u3u;\t ~a = %u\n", a ,(unsigned char) ~a );
printf ("it's binary expansion = ");
PrintBitsOfUChar((unsigned char) ~a);
printf("\n");
}
 
 
 
 
 
 
int main ()
{
//unsigned char a;
//char buffer[8];
a = 0;
printf ("a = %u;\t ~a = %u\n", a ,(unsigned char) ~a);
printf("unsigned char has size = 1 byte = 8 bits and range from 0 to 255\n\n");
a = 1;
printf ("a = %u;\t ~a = %u\n", a, (unsigned char) ~a);
TestBitwiseNot(0);
TestBitwiseNot(255);
TestBitwiseNot(5);
TestBitwiseNot(3);
return 0;
Linia 90 ⟶ 124:
gcc b.c -Wall
./a.out
unsigned char has size = 1 byte = 8 bits and range from 0 to 255
 
decimal number a = 0; it's binary expansion = 00000000
a = 0; ~a = 255
decimal number ~a = 255; it's binary expansion = 11111111
a = 1; ~a = 254
decimal number a = 255; it's binary expansion = 11111111
decimal number ~a = 0; it's binary expansion = 00000000
decimal number a = 5; it's binary expansion = 00000101
decimal number ~a = 250; it's binary expansion = 11111010
decimal number a = 3; it's binary expansion = 00000011
decimal number ~a = 252; it's binary expansion = 11111100
 
</source>
Powrót do strony „C/Operatory”.