最新要闻
- 特种兵式旅游引发热议 男子火车站拎1袋馒头沾方便面吃:该省省该花花 每日聚焦
- 五一假期才第2天网友已经玩累:敦煌“堵骆驼”了 还有红绿灯 天天快讯
- 林正英粤语电影黑白双煞 林正英粤语电影 天天即时看
- 世界微动态丨200公里开车11个半小时!女子吐槽五一旅游导航都堵紫了
- 环球观察:延庆治理有“妙招儿”,多举措解决杨柳飞絮烦恼~
- 联想65W氮化镓插排上架:出差不用带电源了 全球今日报
- 智能手机价格越来越贵 联发科CEO表态:不再打价格战
- 当前报道:车头神似动车组 理想纯电MPV假想图曝光
- 中国空间站将收到70公斤水果快递 天舟六号货运飞船5月上旬发射-全球视讯
- Black Girl Gamers创始人批评幻想游戏:可以有龙 但不能有黑人
- 快看:征服世界最高沙峰!比亚迪仰望U8登顶必鲁图峰:不陷沙、不翻车 真越野
- 金融类都有什么-金融类都有什么专业 天天即时看
- 蔚来五一换电量创历史新高 车主高速薅免费电池4万块_世界今日报
- 《王者荣耀》妲己九尾“收割”女玩家:实体手办1199元
- 苹果树桃树缓控修剪新技术_关于苹果树桃树缓控修剪新技术的简介 环球微动态
- 宁波地铁全天免费坐 五一延长1小时 有站点人流暴涨200%|世界快看
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
焦点热讯:移位运算
【资料图】
概述
这里以C语言为例描述移位运算的行为。 对于一个位表示为 \(x_{w-1}\), \(x_{w-2}\) ,..., \(x_{0}\) 的操作数 x, C 表达式 \(x << k\) 会生成一个値,其位表示为 \([\) \(x_{w-k-1}\), \(x_{w-k-2}\) ,..., \(x_{0}\),0,... , 0 \(]\) 。也就是说,x 向左移动 k 位,丢弃最高的 k 位,并在右端补 k 个 0。移位量应该是一个 0 ~ w - 1 之间的值。移位运算是从左至右可结合的,所以 \(x << j << k\) 等价于 \((x << j) << k\)。
有一个相应的右移运算 \(x>>k\),但是它的行为有点微妙。一般而言,机器文持两种形式的右移: 逻辑右移和算术右移。逻辑右移在左端补 k 个零,得到的结果是 \([\) 0 , ... , 0 , \(x_{w-1}\),\(x_{w-2}\) , ... ,\(x_k\) \(]\)。算术右移是在左端补 k 个最高有效位的值,得到的结果是 \([\) \(x_{w-1}\), ..., \(x_{w-1}\), \(x_{w-1}\),\(x_{w-2}\), ..., \(x_k\) \(]\)。这种做法看上去可能有点奇特,但是我们会发现它对有符号整数数据的运算非常有用。
让我们来看一个例子,下面的表给出了对一个8位参数 × 的两个不同的值做不同的移位操作得到的结果:
操作 | 值 |
---|---|
参数x | [011000111] [100101011] |
x << 4 | [00110000] [01010000] |
× > 4 (逻辑右移) | [00000110] [000010011] |
x>>4 (算术右移) | [00000110] [11111001] |
可以看到除了一个条目之外,其他的都包含填充0。唯一的例外是算术右移 [10010101] 的情况。因为操作数的最高位是1,填充的値就是1。C语言标准并没有明确定义对于有符号数应该使用哪种类型的右移——算术右移或者逻辑右移都可以。不幸地,这就意味着任何假设一种或者另一种右移形式的代码都可能会遇到可移植性问题。然而,实际上,几乎所有的编译器/机器组合都对有符号数使用算术右移,且许多程序员也都假设机器会使用这种右移。另一方面,对于无符号数,右移必须是逻辑的。
与C相比,Java 对于如何进行右移有明确的定义。表达是 \(x>>k\) 会将 × 算术右移 k 个位置,而 \(x >>> k\) 会对 × 做逻辑右移。
逻辑右移
在 C/C++ 中如果要对有符号数进行逻辑右移,那么不能简单的使用 x >> k
,因为对于负数会用符号位填充左端的 k 位。因此要进行逻辑右移,我们使用一个数来记录前 k 位,使其前 k 位都是0,其余都是1,然后与 x >> k
的结果做与运算。
// 由于无符号数右移一定是逻辑右移,因此先转换为无符号数,得到前k位都是0,然后再转换为有符号数int logic_r_shift(int x, int k) { return (int)((unsigned int)x >> k);}
网上还流传有另一种写法:
// mask 得到一个前 k 位都是0的数,但是由于 >> 的运算符对于有符号数在C中并没有明确定义(即使大部分编译器都使用了算数右移)// 所以即使以下代码可以正常运行,但并不保证没有可移植问题int logical_right_shift(int x, int k){ int size = sizeof(int) * 8; // usually sizeof(int) is 4 bytes (32 bits) int mask = ~(((0x1 << size) >> k) << 1) return (x >> k) & mask;}
C++中可以通过模板函数和 union 的结合实现一个通用的逻辑右移运算。
template union Converter { static_assert(sizeof(T) == sizeof(P), "size not match"); T first; P second; };static inline uint32_t Int32ToUInt32(int32_t v) { Converter converter; converter.first = v; return converter.second; } static inline int32_t UInt32ToInt32(uint32_t v) { Converter converter; converter.second = v; return converter.first; }static inline int32_t logicalRightShift32(int32_t value, uint32_t spaces) { return UInt32ToInt32((Int32ToUInt32(value) >> spaces)); }
关键词:
19 组织文件
焦点热讯:移位运算
特种兵式旅游引发热议 男子火车站拎1袋馒头沾方便面吃:该省省该花花 每日聚焦
五一假期才第2天网友已经玩累:敦煌“堵骆驼”了 还有红绿灯 天天快讯
林正英粤语电影黑白双煞 林正英粤语电影 天天即时看
关于PTA第二次大作业的总结-热点
世界微动态丨200公里开车11个半小时!女子吐槽五一旅游导航都堵紫了
环球观察:延庆治理有“妙招儿”,多举措解决杨柳飞絮烦恼~
联想65W氮化镓插排上架:出差不用带电源了 全球今日报
智能手机价格越来越贵 联发科CEO表态:不再打价格战
17 设备处理内核I/O包 天天看点
当前报道:车头神似动车组 理想纯电MPV假想图曝光
中国空间站将收到70公斤水果快递 天舟六号货运飞船5月上旬发射-全球视讯
Black Girl Gamers创始人批评幻想游戏:可以有龙 但不能有黑人
快看:征服世界最高沙峰!比亚迪仰望U8登顶必鲁图峰:不陷沙、不翻车 真越野
16 内核中注册设备_世界今亮点
PTA题目集4~6总结
全球热点评!详细的BoltDB学习记录文档
看点:OO题目集4-6总结
金融类都有什么-金融类都有什么专业 天天即时看
“五一”迎来客流高峰 各部门全力保障旅客出行
蔚来五一换电量创历史新高 车主高速薅免费电池4万块_世界今日报
《王者荣耀》妲己九尾“收割”女玩家:实体手办1199元
苹果树桃树缓控修剪新技术_关于苹果树桃树缓控修剪新技术的简介 环球微动态
宁波地铁全天免费坐 五一延长1小时 有站点人流暴涨200%|世界快看
今年的五一“疯”了吗?网友:走不动 根本走不动
太科幻!比亚迪深圳云巴开通:全自动运行、刷脸进站、无感支付
AMD Yes!一文了解锐龙Z1处理器:为掌机而生 天天热头条
天天热头条丨让AI画“边打游戏边吃意面” AI毅然让玩家啃了手柄
要闻速递:性能_1 Jmeter脚本编写
《饥荒联机版》在线人数破纪录 Steam史低只要4.8元
评论区被疯狂玩梗 抖音网红女骑手:何必恶语相对
通讯!经典超烂游戏《Ancient Roman》引热议 日本4成女性居然都知道
环球关注:亚美尼亚飞一航空:未预先通知,土耳其对其关闭了领空
stable-diffusion-webui 环境设置过程记录 每日速读
苏宁易购一季度亏损1亿元:大幅减亏90% 核心家电3C业务盈利 全球微速讯
快讯:景区回应“上厕所要花55元买门票”:园外无公厕
直线过抛物线焦点公式(抛物线焦点公式)-环球关注
九年不屈!贾跃亭的FF 91量产下线 FF:工艺品质媲美豪华车制造商
探索“研学+”模式助力乡村振兴 张家港乐余镇启动乡村研学旅游季 当前最新
世界焦点!关于Linux操作系统使用lastlog命令对OS账号最后一次登录时间的审计
【世界独家】如何彻底关闭 Windows 10 自动更新
AITO问界卖的多亏得多?赛力斯:2022年净亏损超38亿元
微软690亿美元收购案被阻 动视暴雪CEO:必须合并才能跟腾讯、字节竞争|焦点滚动
西湖边最美人墙2.0版来了:为大家出行保驾护航_报资讯
视讯!中欧班列(武汉)连续4个月单月开行百列以上 同比增长近200%
赵长江:清华经管EMBA校友 一次下单超过20台腾势D9 动态
玩家建议微软推出自己的掌机:性能和XSS一样就行
你知道吗?火星上有22个中国地名:西柏坡、古田、窑店等
电影《长空之王》票房破2亿 王一博肩膀出血也不吭声:被赞爷们气 天天热闻
【全球热闻】襄阳公安这场推进会透出妥妥“安全感”
商务部:“五一”假期首日消费市场大幅升温
天天要闻:鲁绣、丝绸织染等山东非遗“炫技”海南
焦点快报!这价格疯了!24寸显示器仅279元:还是三微边设计
让《灌篮高手》电影被喷的“三渲二”技术 可以做到多牛X?_报道
CPU处理器价格越来越贵 笔记本除外:大跌9% 全球观热点
环球今热点:五一旅游闹心 115元买4.6斤水果少一斤后续:情况属实 顶格处罚
1999元起卖爆!Redmi Note 12 Turbo首销月三个销量第一:打破行业记录|全球快资讯
.Net Core Console&Cache 当前动态
共赴数字之约 描绘数字未来
当前观察:RTX 4070为何会破发?背后原因揭开
热门看点:ChatGPT一炮而红 OpenAI再度融资:估值已达2000亿
冲击30℃!五一假期北方多地开启升温模式 南方降雨在路上 世界今亮点
聊聊拍照那些事:五一外出你更喜欢用相机还是手机?_每日速读
越级影像旗舰真我11即将发布 realme徐起:五一大家休息 节后爆猛料|全球即时看
全球微资讯!“五一”档10余部新片集中上映
住客称入住网红酒店发现死尸打1星“差评” 涉事酒店回应_微头条
每日热讯!外观大变 首增插混!全新广汽本田雅阁开启11元盲订
曝Redmi K60 Ultra下半年登场:天玑9200+加持 安卓CPU性能之王
比NAS更好用!华为家庭存储便宜了:2699元起 最大16TB 环球热讯
两款《古墓丽影》游戏将登陆Switch!跟着劳拉去破坏“文物”
学系统集成项目管理工程师(中项)系列15_质量管理 世界视讯
热门5G手机市占率排名:华为P40 Pro国产机第一 5G平分天下 天天观速讯
承认车辆侧面碰撞试验“造假” 丰田章男道歉:我们错了
世界实时:五一2.4亿人次出游 酒店民宿价格5-7倍上涨 经济日报:违约应赔偿
离离原上谱!求职者:6000工资太高 只要2000可以吗?|世界时快讯
五一假期首日服务区充电站排队时长榜来了:充电要等2.7小时你接受吗?
驻村故事(逐梦)
【全球聚看点】好评率近100%!Redmi Note 12 Turbo把竞品甩在后面:1TB版太受欢迎
Markdown表格-换行、合并单元格
消息!关于方正证券的一些信息
《死或生:女神假期》新女神艾米登场:身材出众的18岁研究生 焦点要闻
超大额优惠券手慢无:植贝名朵防晒小光圈到手19.9元/瓶
聚焦产业建圈强链 成都市温江区举行校地合作交流会
【焦点热闻】退市三板行情_退市三板股票代码
启动“三年共富行动计划”,以“三拼”之势打造“六个乾潭”|微动态
蓝牙为啥叫“蓝”牙?就不能叫白牙吗?-全球微速讯
高速上44辆车被扎胎!初查结果:系货车铁屑散落
PC玩家很受伤!今年翻车的大作太多了
世界快看点丨【模板方法设计模式详解】C/Java/JS/Go/Python/TS不同语言实现
全球观热点:工程建设的范围是什么_工程建设的范围
海底捞一门店睡满人导致无法用餐:全是“特种兵”式大学生
[0基础学R语言] 软件下载与环境配置_天天热点
焦点!15 设备类型与设备驱动
万物皆有灵下一句是什么_万物皆有灵 全球百事通
每日快看:对标《原神》!《王者荣耀世界》新实机画面:蓝BUFF化身寒冰之王
Uzi老对手官宣转型!LOL“欧成”Rekkles改打辅助
快资讯丨苏教版二年级上册数学期中试卷含答案_苏教版二年级上册数学期中试卷
当前动态:4999元 荣耀MagicBook 14 GT版上架:RTX 2050独显
世界短讯!USB:终于一统江湖