收录日期:2019/01/20 03:10:29 时间:2016/05/20 18:27:35 标签:C语言
#include "stdio.h"

void main( void )
{
    int a , b;
    a = 077;

    b = a | 3;   //我认为执行后b=77,但实际却是63!
                 //为何?能解释解释吗?谢谢!   
    printf("\40: The a & b(decimal) is :%d \n" , b);

    b |= 7;      //b=77
    printf("\40: The a & b(decimal) is :%d \n" , b);

    return;
}

难道是我的二进制化错了?

我是觉得有点不可能!

顺便说一下我用的编译器是:tc 2.0
兄弟,"a = 077;"其实就是将a的值赋为八进制的77,它相当于十进制的63,然后再和十进制的3相或,结果肯定是十进制的63啦。
以0开头的数字编译器认为是一个八进制的。
077 = 63D = 00111111B

3D        = 00000011B
7D        = 00000111B

所以 都是 63 

另外 , 提醒 一下

好的 编程习惯 是 #include <stdio.h>

如果 是自己 写的 头文件 用 #include "myfile.h"
#include "stdio.h"

void main( void )
{
    int a , b;
    a = 077;  //a的二进制是0000000000111111就是十进制63,前面有零是表示8进制.同意楼上的.

    b = a | 3;   //0000000000111111
                 //0000000000000011
           //求或后0000000000111111,也就是还是a,就是十进制63,   
    printf("\40: The a & b(decimal) is :%d \n" , b);

    b |= 7;      //和上面一样.b=63
    printf("\40: The a & b(decimal) is :%d \n" , b);

    return;
}
caomuyong1(叶开)说的很对,"a = 077;"其实就是将a的值赋为八进制的77,它相当于十进制的63,然后再和十进制的3相或,结果肯定是十进制的63啦。
关键在于:以0开头的数字编译器认为是一个八进制的。
同意!
caomuyong1(叶开)说的是正确的。以0开头的是八进制数输入,你换算一下就可以了。8进制的77二进制是111111,这个正是十进制的63。
077 是八进制。
所以就和你的预想不一样了
呵呵,
努力啊
以0开头的数是8进制!

剩下的自己可以解决了吧!
结了,谢谢各位!小弟受益颇深!

刚刚想起来, 我来北京两年整了. 心情??? 散点分庆祝一下.(二) win xp pro版和win xp server版有什么具体的区别? 两个小问题 请大家帮忙看看! 想开一个电脑培训班,求名 <>与<>让我难以取舍.希望过来人指点迷津 菜鸟又遇困难,帮忙 Apache的源代码~~ 考研,迷茫!敬请各位前辈指教. 表单里面还有一表单.外面表单提交时会不会把里面的表单也提交了. 两表关联的计算问题! 如何获取一个刷子的句柄 如何监控某个驱动器或目录及其下面的所有子目录的创建文件的动作...解决即给分 ~~~~~~~~win2k和winxp以及win2k和win2k及其winxp和winxp组建网络的问题~~~~~~~在线等!!!!!!!!!! javaserver faces 如何在win下架构开发平台??? 有相关书籍下载嘛? win xp server版对游戏的支持怎么样? 求6000RMB的电脑配置单! (显示器液晶的) 我在Oracle下载页下载了Oracle10g,看到还有以下几个文件提供下载,想问一下这几个文件有什么用,要下载吗? 好象很多人用win2000 server,没人用win xp server 欢迎有爱心的人士,来带领我们入门 我刚学java用jcreator编写有一个小问题 我总认为学硬件比学软件有前途. [调查]:计算机专业调查,非计算机专业和计算机专业均请进! win xp pro版和server版对软件的支持是不是差不多? 离婚后的30天同居生活~ 再也不做潜水员,请大家给点支持 在Access中怎样将字符型数据转换为日期时间型? 【求助】ASP.NET入门经典 哪里有下载电子版的??? 一个简单的问题 请高手帮忙,我装了win2003后进不了系统!!! 还是字符串问题,100分,谢谢