c语言按位输出
❶ 用c语言把一个正数按位输出
#include<iostream>
using namespace std;
int main()
{
int data = 2008;
while (data != 0)
{
cout << data%10;
data = data/10;
}
cout << endl;
return 0;
}
❷ 将一个正整数从右到左按位输出 求c语言程序
#include<stdio.h>
int main()
{
int i,a,b,c;
printf ("input your num:\n");
scanf("%d",&i);
a=i/100; /*取百位*/
b=(i-a*100)/10; /*取十位*/
c=(i-a*100-b*10); /*个位*/
printf("%d %d %d",c,b,a);
}
我以三位整数为例
#include <stdio.h>
void fun(long); //函数声明
void main()
{long n;
printf("请输出一个正整数:");
scanf("%d",&n);
printf("原来数据:n=%1d\n",n);
fun(n);
printf("\n");
}
void fun(long n)
{
int m=0;
while(n)
{
m = n%10;
printf("%d\t",m);
n/= 10;
}
}
上面的不限个数
❸ c语言程序:输入一个十进制整数,输出该数值的二进制表示(使用按位运算符)
#include<stdio.h>
//main
intmain()
{
inta;
scanf_s("%d",&a);
charb[41]={0};
char*p=b;
inti=32;
while(i--)
{
*p++=(a>>i&0x1)+'0';
if(i%4==0)
*p++='';
}
printf_s("%s ",b);
return0;
}
❹ C语言中如何输出任意一个数字的每一位数字
比较常用的思路就是不断的除10,比如随便一个数字12345
12345/10=1234
12345%10=5
再把 1234/10=123
1234%10=4
这样就把这个数字按位拆开。
#include
#include
int main()
{
int iNumber;
cout << "请输入一个数字:" << endl;
cin >> iNumber;
//定义一个栈
int stack;
int top=-1;
while (iNumber % 10)
{
stack[++top]=iNumber % 10);
iNumber = iNumber / 10;
}
printf("从高到低依次是: ")
for(;top>=0;top--)
{
printf("%d ",stack[top]);
}
system("pause");
return 0;
(4)c语言按位输出扩展阅读;
当一个运算对象两侧的运算符优先级别相同时,则按运算符的结合性来确定表达式的运算顺序。关于结合性的概念在其他高级语言中是没有的,这是C语言的特点之一。
C语言也将 34 种运算符规定了不同的结合性。大多数运算符结合方向是“自左至右”,即:先左后右,也叫“左结合性”,例如 a-b + c,表达式中有-和+两种运算符,且优先级相同,按先左后右结合方向,先围绕减号结合,执行 a-b 的运算,再围绕加号结合,完成运算(a-b) + c。
❺ 怎么在c语言中输出按位与的结果编个程序出来
#include
#define
X
45
//第一个数
#define
Y
89
//第二个数
int
main(void)
{
int
i,c;
c=X&Y;
//两个数按位与,结果用下面的办法输出
for(i=31;i>=0;i--)
{//c是32位数,思路就是要输出哪位数,就先把这位数右移到最右边,
//然后和1进行位与,这样就把最右边的位筛选出来了。
printf("%d",(c>>i)&1);
}
printf("\n");
return
0;
}
❻ c语言,int 按位转字符型,加上打印信息就能正确输出,否则出错
abyte变量,在函数InttoByte中使用,在这个函数有效域内有效。
返回值为abyte的首地址,这个地址不会取消,但是在InttoByte函数结束时,其中使用的内存都会释放,内容也会有不可预测的变动,这个时候,abyte的空间都释放了,内容也不一定会保存。
所以返回之后,abyte的地址内的值已经变了,是不可以这样的;
一般返回值为指针的情况,返回的地址一定是在调用函数的作用域中有效的,
比如在main函数中定义了char * ,然后在函数参数中有这个地址,并且函数中变更了char * 的内容并且返回这个指针,就不会担心有这样的问题。或者用全局变量也是可以的。
❼ c语言 按有效数字输出
printf("%.4g", );
❽ C语言 递归实现顺序输出整数 要求实现一个函数,对一个整数进行按位顺序输出
比如要执行printdigits(1234),则执行
printdigits(1234/10);
printf("%d\n",1234%10);
要先执行printdigits(1234/10),即printdigits(123),变成执行
printdigits(123/10);
printf("%d\n",123%10);
printf("%d\n",1234%10);
要先执行printdigits(123/10),即printdigits(12),变成执行
printdigits(12/10);
printf("%d\n",12%10);
printf("%d\n",123%10);
printf("%d\n",1234%10);
要先执行printdigits(12/10),即printdigits(1),变成执行
printf("%d\n",1);
printf("%d\n",12%10);
printf("%d\n",123%10);
printf("%d\n",1234%10);
以上依次执行打印:1 2 3 4
❾ c语言中的按位顺序输出是什么意思
意思就是比如输入一个数123,你就按顺序输出1,2,3