求助一些关于c按位与何宏的问题?
紧急请问有关c问题?希望你们好心帮帮忙!
第一个 int a=1234;a=a&0377;printf("%d %o\n",a,a);
第二个 设有以下宏定义,则执行语句a=PP*20(a为int整型变量)a的值 是()
#define PR 80
#define PP PR+403
请问高手们怎么算出来的阿谢谢谢谢了!!!
紧急请问有关c问题?希望你们好心帮帮忙!
第一个 int a=1234;a=a&0377;printf("%d %o\n",a,a);
第二个 设有以下宏定义,则执行语句a=PP*20(a为int整型变量)a的值 是()
#define PR 80
#define PP PR+403
请问高手们怎么算出来的阿谢谢谢谢了!!!
2007-05-02 22:28
2007-05-02 22:38
1.A=1234,A是十进制数,转换为二进制数为10011010010.而0377为八进制数(以0开头),转换为二进制数为11111111,A=A&0377,进行逻辑与运算,结果为A的后八位,即11010010.分别以十进制和八进制数输出为210,322;
2.A=PP*20=PR+403*20=80+403*20=8140; 注意DEFINE只是字符替换,不会自动加( )的
第二个是不是搞错了,是A=PP*20,还是A=PP*2.

2007-05-03 01:00