Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //-std=c99 -Wall -Wextra -Wpedantic -Wshadow
- #include <stdio.h>
- #include <stdlib.h>
- #include <stdint.h>
- #include <inttypes.h>
- void printBinaryLE(void *v, uint32_t s)
- {
- if(!v||s<1)
- {
- printf("error !\n");
- return;
- }
- uint8_t *pv = (uint8_t*) v;
- uint32_t i;
- while(s--)
- {
- i=8;
- while(i--)
- {
- printf("%d", pv[s] >> i & 1u ? 1 : 0);
- }
- }
- printf("\n");
- }
- int main()
- {
- int8_t a = -1;
- uint8_t b = 0xFF;
- int32_t result;
- printf("a DEC: %d HEX: 0x%X BIN (little endian): ", a, a);
- printBinaryLE(&a, sizeof(a));
- printf("%" PRIx8, a);
- printf("\n");
- printf("0x%X\n", a & 0xFF);
- printf("b DEC: %d HEX: 0x%X BIN (little endian): ", b, b);
- printBinaryLE(&b, sizeof(b));
- result = a + b;
- printf("%d + %d = %d\n", a, b, result);
- result = b + b;
- printf("%d + %d = %d\n", b, b, result);
- return 0;
- }
- /*
- output:
- a DEC: -1 HEX: 0xFFFFFFFF BIN (little endian): 11111111
- ffffffff
- 0xFF
- b DEC: 255 HEX: 0xFF BIN (little endian): 11111111
- -1 + 255 = 254
- 255 + 255 = 510
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement