社区
C语言
帖子详情
c语言如何实现二进制位屏蔽
sunnyheyun
2009-11-14 12:09:03
请教各位这样一个问题:
计算机内部是二进制存储表示的,而我们在程序中是10进制的。而现在要在程序中实现对二进制低位的屏蔽,也就是如程序中255,其在计算机内部表示是 1111 1111,现在要使其低位被屏蔽掉,变成 1000 0000,该如何用移位运算实现呢?
...全文
264
7
打赏
收藏
c语言如何实现二进制位屏蔽
请教各位这样一个问题: 计算机内部是二进制存储表示的,而我们在程序中是10进制的。而现在要在程序中实现对二进制低位的屏蔽,也就是如程序中255,其在计算机内部表示是 1111 1111,现在要使其低位被屏蔽掉,变成 1000 0000,该如何用移位运算实现呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liweiwu032
2009-11-14
打赏
举报
回复
移位
jackyjkchen
2009-11-14
打赏
举报
回复
char a = 0xFF;
a <<=7;
或者
char a = 0xFF;
a = a & 0x80;
yangming_258
2009-11-14
打赏
举报
回复
……& = 0x……
就行了~~~~
tan870426
2009-11-14
打赏
举报
回复
想屏蔽拿位直接用该位与0做与(&)运算就O了
lzh3ng
2009-11-14
打赏
举报
回复
移位加上&就得到了。
starwalker
2009-11-14
打赏
举报
回复
a &= 0x80
相识
2009-11-14
打赏
举报
回复
屏蔽很简单 想屏蔽哪位就用 哪个位为0的数 与实际要屏蔽的数 进行&操作就行了
C语言
-如何在二进制数中删去一个1
对于一个数字n,想要在其二进制形式中删去一个1,具体的
实现
方式是令n=n&(n-1)。 在二进制数中去掉一个1,这种操作的意义可以体现在很多方面,比如说我想统计一个二进制数中到底有几个1,那我i就可以反复用这个操作处理这个数,每次处理后都将处理次数加1,这样,当该数中的所有1都被删去时,这个数的值就变成0,我可以设定判断条件,while(n!=0)或直接while(n),以跳出循环。这时,打印出记录循环次数的那个整型变量就得到了该二进制数中1的个数。 分析:对于任意一个二进制数n,...
C语言
中进制转换与函数
进制转换: 为什么使用二进制、八进制、十六进制? 由于现在的CPU只能识别高低两种电平,只能使用二进制数据进行计算 二进制虽然能够被计算机直接计算,但是不方便书写、记录,因此将数据以八进制方式为了更方便记录在文件中 随着CPU位数不断增加,八进制不能满足需求,所以发展出了十六进制来表示数据, 由于历史原因八进制还不能退出历史舞台 十进制转二进制:(十进制转其他进制) 求余法: 用2对数据求余,然后再继续对商求余,知道商为0结束,过程中产生的余数就是该数据的二进制(逆序) n %2 余...
【printf】打印数值、打印二进制、打印十六进制、sprintf
1、数值转成字符: sprintf个函数,如: sprintf(s, "%d", 123); //产生"123" 2、字符串转成数值: while(*BandRate='\0') {num=num*10+(*BandRate-'0'); BandRate++; } char test_char[7]={0}; unsigned int cc=60000;...
C语言
归总学习2
C总结
asic码转16进制
c语言
,十六进制数转换成ascii码
本文收集整理关于十六进制数转换成ascii码的相关议题,使用内容导航快速到达。内容导航:Q1:一个十六进制数转换成ASCII码的单片机程序HASC:MOVA,R0;从R0中取一个16进制(二进制)数(0-F)ANLA,#0FH;
屏蔽
掉高4位PUSHACC;4位二进制数入栈CLRC;清进(借)位位SUBBA,#0AHPOPACCJCLOOPADDA,#07HLOOP:ADDA,#30HMOVR2,A...
C语言
69,371
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章