c语言中<<是什么运算符

#include<stdio.h>
void printb(int,int);
int main()
{
int x;printf("Input number:");
scanf("%d",&x);
printf("number of decimal form:%d\n",x);
printf(" it's binary form:");
printb(x,sizeof(int)*8); /*x:整数 sizeof(int):int型在内存中所占的字节数
sizeof(int)*8:int型对应的位数*/
putchar('\n');
}

void printb(int x,int n)
{
if(n>0)
{
putchar('0'+((unsigned)(x&(1<<(n-1)))>>(n-1))); /*输出第n位*/
printb(x,n-1); /*归调用,输出x的后n-1位*/
}
}
后面那个<<和>>里的是什么意思?不太懂,能给我解释一下吗,谢谢各位高手!

第1个回答  2008-05-09
是移位噢,不过是换成二进制后的数位上的移位
第2个回答  2008-05-09
转换成二进制后,左移位,左边的位舍弃,右边补0
第3个回答  2008-05-09
看一点点计算机组成原理的书,特别是位运算的知识对编程应该有好处
第4个回答  2021-01-06

第5个回答  2020-01-13

C语言中<<和>>有什么区别?
C语言中<< 代表左移运算符,>> 代表右移运算符,位移位运算符是将数据看成二进制数,对其进行向左或向右移动若干位的运算。<< 代表左移运算符:左移运算符用来将一个数的各二进制位全部左移若干位,移动的位数由右操作数指定,右操作数必须是非负值,其右边空出的位用0填补,高位左移溢出则舍弃...

<<在C语言中是什么意思?
符号<<在C语言中代表了左移运算符。<<用来将一个数的各二进制位全部左移若干位,移动的位数由右操作数指定,右操作数必须是非负值,其右边空出的位用0填补,高位左移溢出则舍弃该高位。

c语言中符号<<是什么意思
左移运算符(<<)将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0)。例:a = a << 2 将a的二进制位左移2位,右补0,左移1位后a = a * 2;若左移时舍弃的高位不包含1,则每左移一位,相当于该数乘以2。右移运算符(>>)将一个数的各二进制位全部右移若...

c语言中<<是什么运算符
>>是右移运算符,移位运算符的一种:程序设计中,位操作运算符的一种。C语言中位移位运算符是将数据看成二进制数,对其进行向左或向右移动若干位的运算。位移位运算符分为左移和右移两种,均为双目运算符。第一运算对象是移位对象,第二个运算对象是所移的二进制位数。位移位运算符的运算对象、运算...

>>和<<分别表示什么意思啊?
C语言中的>>和<<分别是左移运算符和右移运算符,用于整数在二进制形式的移位运算。1、左移运算符(<<)规则:按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零。语法格式:需要移位的数字 << 移位的次数,例如: 3 << 2,则是将数字3左移2位。数学意义:在数字...

c语言中的<<是什么意思?
C语言中的>>和<<分别是左移运算符和右移运算符,用于整数在二进制形式的移位运算;关系运算符用于比较运算。包括大于(>)、小于(<)、等于(==)、大于等于(>=);小于等于(<=)和不等于(!=)六种。在C语言中x<<=1等于x=x<<1,是把x左移1位以后值保存回x里,x发生变化了。

c语言中符号<<是什么意
C语言中的符号<<,实际上是左移运算符,它用于将一个数的二进制位向左移动指定的位数。这个操作数是左操作数,通常是一个数值,而右操作数则指定移动的位数,必须是非负整数。在移动过程中,右操作数右边的位会被填充0,如果高位在左移后溢出,则会被舍弃。比如,当我们对15(二进制为00011111)...

c语言中<<是什么运算符
<<是向左移位,>>是向右移位 比如int a = 5 ,那么a<<2 表示二进制向左移2位 a = 00101 向左移2位,右边的补0 (00)10100 就变成了20。向右同理

在C语言中<<是什么意思?
左移运算符“<<”是双目运算符,其功能是把“<<” 左边的运算数的各二进制位全部左移若干位,由“<<”右边的数指定移动的位数。其中,移位过程中,高位丢弃,低位补0.例如,a<<4是指把a的各二进制位向左移动4位。如果a=00 000 011(十进制3) ,左移4位后成为01 110 000(十进制48)。...

在C语言中<<是什么意思?
在C语言中,"<<"是一个非常重要的运算符,代表左移操作。它用于将一个数的所有位向左移动指定的位数。例如,int i = 1; i = i << 2; 这意味着将i的值左移两位,将二进制的000...0001变为000...0100,等同于十进制的4,因为左移一位相当于乘以2。对于有符号的整数,如int,需要注意左...

相似回答