37 lines
649 B
C
37 lines
649 B
C
#include <stdio.h>
|
|
|
|
typedef unsigned char *byte_pointer;
|
|
|
|
void show_bytes(byte_pointer start, size_t len) {
|
|
size_t i;
|
|
for (i = 0; i < len; i++)
|
|
printf(" %.2x", start[i]);
|
|
printf("\n");
|
|
}
|
|
|
|
void show_int(int x) {
|
|
show_bytes((byte_pointer) &x, sizeof(int));
|
|
}
|
|
|
|
void show_float(float x) {
|
|
show_bytes((byte_pointer) &x, sizeof(float));
|
|
}
|
|
|
|
void show_pointer(void *x) {
|
|
show_bytes((byte_pointer) &x, sizeof(void *));
|
|
}
|
|
|
|
void test_show_bytes(int val) {
|
|
int ival = val;
|
|
float fval = (float) ival;
|
|
int *pval = &ival;
|
|
show_int(ival);
|
|
show_float(fval);
|
|
show_pointer(pval);
|
|
}
|
|
|
|
void main(void) {
|
|
int test_val = 12345;
|
|
test_show_bytes(test_val);
|
|
}
|