一个int型的数据:77与077有什么区别?
来源:百度知道 编辑:UC知道 时间:2024/05/31 19:34:29
我有如下程序:
int a,b ;
a = 077 ;
b = a & 3 ;
printf("\40: The a & b(decimal) is %d \n",b) ;
但是结果是3!
于是我将第二行的a = 077 ;改成了a = 77 ;然后得到的结果是1!
我郁闷了...望高手不惜解惑!
int a,b ;
a = 077 ;
b = a & 3 ;
printf("\40: The a & b(decimal) is %d \n",b) ;
但是结果是3!
于是我将第二行的a = 077 ;改成了a = 77 ;然后得到的结果是1!
我郁闷了...望高手不惜解惑!
0开头是8进制数, 077 = 8*7+7=63, 其2进制是 111111
3的2进制 编码是 011
2者作“按位与”运算后,结果是 011,所以是3;
而77的二进制是 1001101, 和3(011)作“按位与”运算后, 是 001, 所以是1。
前边加上0就说明是16进制,
即 00000000 00000000 00000111 00000111
&00000000 00000000 00000000 00000011
相与之后为3
而77是十进制
00000000 00000000 00000000 01001101
&00000000 00000000 00000000 00000011
结果为1
077是八进制数而77是十进制数
将一个long int型数据赋给一个int型变量,要进行数值位截取,由于数据范围的变化出现的数据错误有哪些?
int型的数据是几个bit?
int与int&的区别
C语言如何把一个int型的数据某一位置零
C++中,int型数据的取值范围是多少?
给你一个int型数据,如何将其转化成string类型,请不要调用 现有的函数,自己写
C#中的一个最基本的问题?请教!int[]arr与int[arr]的区别
int *p(int int)与int (*p)(int int)区别?
在不同位的计算机中,一个int型数据所占的内存长度的字节是不一样的么?为什么?
String与int 型的关系,java问题