黑马程序员技术交流社区
标题:
大家看看这怎么理解?
[打印本页]
作者:
peide0427
时间:
2015-10-31 08:58
标题:
大家看看这怎么理解?
#include <stdio.h>
void printBinary(int number);
int main()
{
printBinary(-10);
return 0;
}
void printBinary(int number)
{
int temp= (sizeof(int)<<3)-1;//这一部分怎么理解???
while(temp>=0)
{
int value = number>>temp & 1;
printf("%d",value);
temp--;
if((temp+1)%4==0)
{
printf(" ");
}
}
printf("\n");
}
作者:
秦晓东帅帅哒
时间:
2015-10-31 12:39
群里大神那么多,分分钟给你解决了
作者:
yanggangcl
时间:
2015-10-31 14:39
大神不会看这样排版的代码的
作者:
xiaobei
时间:
2015-10-31 19:51
看的有点蒙了555555555555
作者:
zyios
时间:
2015-10-31 20:58
希望有人可以帮到你
作者:
18120184391
时间:
2015-11-1 07:41
(sizeof(int)<<3)-1 分解下:sizeof(int) 表示int类型所占字节数 很简单为4, <<是左移运算:把整数的各二进位全部左移n位,高位丢弃,低位补0, <<3表示左移三位,把4的二进制写出了,操作就行了 (使用位运算是在二进制上运算,可以提高一点点的运算效率,一般是那些大神用的. )
作者:
peide0427
时间:
2015-11-1 15:43
18120184391 发表于 2015-11-1 07:41
(sizeof(int)
谢谢~~~
作者:
craneteng
时间:
2015-11-1 17:27
就是4<<3结果是32
4左移几就是与2的几次方相乘
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2