码迷,mamicode.com
首页 > 编程语言 > 详细

C语言中的 “>>”与“<<”

时间:2020-04-22 11:36:54      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:溢出   pre   std   语言   short   class   不包含   情况   int   

1.

int x = 16; printf("%d\n", x >> 1);

先将x转成二进制 10000, 不读最后一位, 输出 1000, 即为8;

2.

int x = 16; printf("%d\n", x << 1);
先将x转成二进制 10000, 往最后再读取一位(0, 或根据是否已经有移位), 输出 100000, 即为32;

以上不包含溢出情况, 且只有能用在int、short int、long int,可能有错漏。

#include <stdio.h>

int main()
{
    int x = 16;
    printf("%d\n", x >> 3);
    printf("%d\n", x >> 2);
    printf("%d\n", x >> 1);

    printf("%d\n", x << 3);
    printf("%d\n", x << 2);
    printf("%d\n", x << 1);
}

结果为

2
4
8
128
64
32

C语言中的 “>>”与“<<”

标签:溢出   pre   std   语言   short   class   不包含   情况   int   

原文地址:https://www.cnblogs.com/huangyuechujiu/p/12750798.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!