C语言 将int型数据以二进制形式输出
2012-12-28 16:43
591 查看
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
printf("N=");
int n,i;
scanf("%d",&n);
int len=sizeof(int)*8; //int型所占数据宽度
for(i=0;i<len;i++)
{
putchar('0'+((unsigned)(n<<i)>>(len-1))); //先左移,再逻辑右移,就把二进制从高位到低位输出了
// printf("%d",((unsigned)(n<<i)>>(len-1))); //也可以这样输出
}
printf("\n%d\n",n);
//Another method
for(i=0;i<len;i++)
{
putchar('0'+((unsigned)(n&(1<<(len-1)))>>len-1)); //将1左移,然后和n做按位与运算,最后逻辑右移,从高位到低位输出二进制
n<<=1; //上边的一句总是对最高位进行处理,所以,这里就对n左移一位喽
}
printf("\n%d\n",n);
}
#include <stdlib.h>
int main(void)
{
printf("N=");
int n,i;
scanf("%d",&n);
int len=sizeof(int)*8; //int型所占数据宽度
for(i=0;i<len;i++)
{
putchar('0'+((unsigned)(n<<i)>>(len-1))); //先左移,再逻辑右移,就把二进制从高位到低位输出了
// printf("%d",((unsigned)(n<<i)>>(len-1))); //也可以这样输出
}
printf("\n%d\n",n);
//Another method
for(i=0;i<len;i++)
{
putchar('0'+((unsigned)(n&(1<<(len-1)))>>len-1)); //将1左移,然后和n做按位与运算,最后逻辑右移,从高位到低位输出二进制
n<<=1; //上边的一句总是对最高位进行处理,所以,这里就对n左移一位喽
}
printf("\n%d\n",n);
}
相关文章推荐
- C语言位段操作,写一个程序,从键盘上接收一个整数,用二进制形式输出这个整数
- 将数据以二进制形式输出
- C语言中的printf用%d输出float类型数据出现或以%f输出int型数据的结果为什么是0
- C语言中printf用%d输出float类型数据,或以%f输出int型数据的结果
- 计算int型数据的二进制形式中——1的个数
- C语言---程序的一般形式、数据类型、常量变量、运算符、表达式、格式化输入输出
- 黑马程序员——【C语言】输出整数在内存中的二进制形式
- C语言中以二进制形式输出文件
- C语言应用:将128位二进制数据转换为十六进制输出
- 将数据以二进制形式输出
- C语言中以二进制形式输出整数
- C语言整数十进制按照二进制形式输出程序
- 转:C语言中的printf用%d输出float类型数据出现或以%f输出int型数据的结果为什么是0
- C语言中十进制以二进制形式输出
- 输出一个整型数据的二进制形式
- 计算unsigned int型数据二进制形式中1出现的次数
- orcal 游标查询数据形式输出到控制台
- 统计整型数据二进制形式中1的个数
- 如何将ajax请求返回的Json格式数据循环输出成table形式
- C语言 printf输出字符串数据