×

寄存器reg &= ~1 位与操作的问题

消耗积分:0 | 格式:pdf | 大小: | 2022-01-13

分享资料个

在网上偶尔看到一个关于寄存器某位清零的操作,有人指出如题写法并不健壮,此博客记录。问题的关键在于 ~1 的值,假设 1 占8位(由编译器决定),二进制表示为 0000 0001那么~1的值为 1111 1110此时与一个寄存器 & ,确实可以将第 0 位清零,且确保[7:1]位不变。但是如果该寄存器超过8位,比如16位,``那么在做位与操作时 ~1 会被在前自动补0,此时 ~...

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !