看了无符号数的编码:
#include <stdio.h>
typedef unsigned char* byte_pointer;
void show_bytes(byte_pointer start, size_t len) {
int i;
for (i = 0; i < len ; i++) {
printf("%.2x ", start[i]);
}
printf("\n");
}
void showit(unsigned int x) {
show_bytes((byte_pointer)&x, sizeof(x));
}
void showit(int x) {
show_bytes((byte_pointer)&x, sizeof (x));
}
int main()
{
unsigned int x= 12345;
int y = 12345;
showit(x);
showit(y);
return 0;
}
结果是一样的.那计算机不是按照补码运算的吗.怎么区别有无符号呢?费解啊...