当前位置: 首页 > news >正文

建筑设计就业方向及前景网站seo基本流程

建筑设计就业方向及前景,网站seo基本流程,互联网营销行业,推广平台网站制作文章目录 前言一、左移和右移二、清除对应的位为0和设置对应的位为11.设置对应的位为12.清除对应的位为0 三、进制数的表示四、& ^ | ~总结 前言 本篇文章给大家讲解一下C语言中的位操作,在嵌入式中位操作是经常需要使用的,那么下面就让我们来学习一…

文章目录

  • 前言
  • 一、左移和右移
  • 二、清除对应的位为0和设置对应的位为1
    • 1.设置对应的位为1
    • 2.清除对应的位为0
  • 三、进制数的表示
  • 四、& ^ | ~
  • 总结


前言

本篇文章给大家讲解一下C语言中的位操作,在嵌入式中位操作是经常需要使用的,那么下面就让我们来学习一下C语言中的位操作吧。

一、左移和右移

在C语言中,左移(<<)和右移(>>)是位操作运算符,用于对整数类型的数据进行位级操作。这些操作符可以将二进制表示的整数值按指定的位数向左或向右移动,并根据移动方向填充或丢弃相应的位。

左移运算符(<<)将一个数的各二进制位全部左移若干位,右侧空出的位用零填充。其语法为:

result = operand << n;

其中,operand是要进行操作的数值,n是要左移的位数,result是计算结果。左移运算的效果是将operand的二进制表示左移n位。

例如,假设有一个整数变量 x 的值为 5,其二进制表示为 0000 0101,我们对其左移两位,即 x << 2:

int x = 5;
int result = x << 2;

左移两位后,二进制值变为 0001 0100(二进制表示),对应的十进制数即为 20。因此,result的值将为 20。

右移运算符(>>)将一个数的各二进制位全部右移若干位,但右移运算符有两种方式:逻辑右移和算术右移。

逻辑右移(logical right shift):右移过程中左侧空出的位用零填充,适用于无符号数。

算术右移(arithmetic right shift):右移过程中左侧空出的位用符号位填充,适用于带符号数。

其语法为:

result = operand >> n;

其中,operand是要进行操作的数值,n是要右移的位数,result是计算结果。右移运算的效果是将operand的二进制表示右移n位。

例如,有一个有符号整数变量 x 的值为 15(二进制表示为 0000 1111),我们对其右移三位,即 x >> 3:

int x = 15;
int result = x >> 3;

逻辑右移后,二进制值变为 0000 0001,对应的十进制数为 1,因此 result 的值将为 1。

需要注意的是,右移运算对于带符号整数会保留符号位,因此如果原始数值为负数(符号位为 1),算术右移将填充 1,使得结果仍为负数。

二、清除对应的位为0和设置对应的位为1

在嵌入式中设置和清除某位是非常常用的,这里我们就来看看怎么设置某位为1和清除某位为0吧。

1.设置对应的位为1

#include <stdio.h>int main(void)
{unsigned char a = 0;int i = 0;scanf("%d", &i);printf("a = %d\n", a | (1 << i));//设置第i位为1return 0;
}

通过位运算符 | 将 1 左移 i 位,并将结果与变量 a 进行按位或操作。这样可以将变量 a 的第 i 位设置为 1,而其他位保持不变。

2.清除对应的位为0

#include <stdio.h>int main(void)
{unsigned char a = 255;int i = 0;scanf("%d", &i);printf("a = %d\n", a & ~(1 << i));return 0;
}

通过位运算符 ~ 将 1 左移 i 位,并将结果与变量 a 进行按位与操作。这样可以将变量 a 的第 i 位设置为 0,而其他位保持不变。

三、进制数的表示

在C语言中,数字可以用不同的进制表示,包括十进制、八进制和十六进制。以下是这些进制的表示方法以及相应的C代码示例:

1.十进制:十进制是我们日常生活中最常见的进制,数字默认情况下就是十进制的。例如,数字42就是十进制。

int decimalNumber = 42;

2.八进制:在C语言中,八进制数字以0开头。例如,八进制数字052表示十进制的42。

int octalNumber = 052;

3.十六进制:十六进制数字以0x或0X开头。例如,十六进制数字0x2A表示十进制的42。

int hexadecimalNumber = 0x2A;

这些示例展示了如何在C语言中表示不同进制的数字。你可以使用这些表示法来初始化整数变量,进行算术运算,或者将它们输出到屏幕上。注意,C语言中默认情况下使用的是十进制,如果你需要在其他进制之间进行转换,可能需要使用相关的函数或操作来实现。

四、& ^ | ~

1.按位与 &:

运算符:&
功能:执行按位与操作,将两个操作数的对应位进行比较,如果两个位都为1,则结果位为1,否则为0。
示例代码:

int x = 5; // 二进制表示为 0101
int y = 3; // 二进制表示为 0011
int result = x & y; // 结果为 0001,即 1

2.按位或 |:

运算符:|
功能:执行按位或操作,将两个操作数的对应位进行比较,如果任何一个位为1,则结果位为1。
示例代码:

int x = 5; // 二进制表示为 0101
int y = 3; // 二进制表示为 0011
int result = x | y; // 结果为 0111,即 7

3.按位异或 ^:

运算符:^
功能:执行按位异或操作,将两个操作数的对应位进行比较,如果两个位不同,则结果位为1,如果相同则为0。
示例代码:

int x = 5; // 二进制表示为 0101
int y = 3; // 二进制表示为 0011
int result = x ^ y; // 结果为 0110,即 6

4.按位取反 ~:

运算符:~
功能:执行按位取反操作,翻转一个整数的每个二进制位,将1变为0,将0变为1。
示例代码:

int x = 5; // 二进制表示为 0101
int result = ~x; // 结果为 1010,即 -6(根据补码表示)

总结

本篇文章就讲解到这里,希望大家将上面讲解的知识牢牢掌握。

http://www.hkea.cn/news/981177/

相关文章:

  • wordpress跨域访问前端优化网站
  • 住房和城乡建设部网站买卖合同北京中文seo
  • WordPress自己安装了插件深圳seo推广外包
  • 建立网站舆情分析报告范文
  • wordpress 空格 插件班级优化大师app
  • 成都有实力的网站建设网络培训心得
  • 中企高呈建设网站在百度怎么创建自己的网站
  • 女的和女的做那个视频网站怎么在网上做网络营销
  • 网站开发需要什么软件百度怎样发布作品
  • 专门做宠物食品的网站市场调研怎么做
  • 兰州网站建设q.479185700棒成年s8视频加密线路
  • 付费网站推广seo关键词排名优化怎么收费
  • 网站由那些组成google网页搜索
  • 对一个网站做性能测试谷歌paypal官网入口
  • 北京住房投资建设中心网站首页快速排名怎么做
  • 中国网站制作 第一个佛山网站优化
  • thinkphp做的教育网站微商引流推广
  • 做特卖网站手机版电商最好卖的十大产品
  • 怎样做网站平叿trinseo公司
  • 北京大兴最专业的网站建设公司如何推广一个项目
  • 网页设计最牛的网站建设宁波网站优化公司哪家好
  • 建设通查询如何做网站推广及优化
  • 城乡建设网站首页百度seo收录软件
  • 永久免费建个人网站培训网站建设
  • 如何使用jq做弹幕网站好用的磁力搜索引擎
  • 南充营销型网站建设高端品牌网站建设
  • 制作小程序和网站的公司搜狗收录提交入口网址
  • 手机站电影基础建站如何提升和优化
  • 江苏 网站备案百度贴吧官网app下载
  • 网站制作三站湖南网站seo公司