#include <stdio.h>
main()
{
/* 设置全0和全1 */
unsigned char zero = 0;
unsigned char compzero = ~0;
/* 设置绝对地址的值 */
char *p = (char *)0x0012ff7c;
*p = 0x12;
unsigned char x = ~0 & 0x80;
unsigned char y = 1 << 7;
unsigned char z = 1 << 8;
char m = ~0 & 0x80;
char n = 1 << 7;
printf("%d \n", x);
printf("%u \n", y);
printf("%u \n", z);
printf("%d \n", m);
printf("%u \n", n);
/* 移位运算(取出a从右端开始的4~7位) */
int a = 0xABCDEFcF; // 0000
01010100
unsigned b = ( a >> 4) & ~ ( ~ 0 << 4);
printf("%x \n", b);
return 0;
}
main()
{
/* 设置全0和全1 */
unsigned char zero = 0;
unsigned char compzero = ~0;
/* 设置绝对地址的值 */
char *p = (char *)0x0012ff7c;
*p = 0x12;
unsigned char x = ~0 & 0x80;
unsigned char y = 1 << 7;
unsigned char z = 1 << 8;
char m = ~0 & 0x80;
char n = 1 << 7;
printf("%d \n", x);
printf("%u \n", y);
printf("%u \n", z);
printf("%d \n", m);
printf("%u \n", n);
/* 移位运算(取出a从右端开始的4~7位) */
int a = 0xABCDEFcF; // 0000
01010100unsigned b = ( a >> 4) & ~ ( ~ 0 << 4);
printf("%x \n", b);
return 0;
}
以上代码在VC环境下运行,输出结果为:
128
128
0
-128
4294967168
c

浙公网安备 33010602011771号