Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >std::字节位运算符x,&,^,~:为什么要强制转换为无符号int?

std::字节位运算符x,&,^,~:为什么要强制转换为无符号int?
EN

Stack Overflow用户
提问于 2022-06-28 06:49:45
回答 1查看 248关注 0票数 1

根据std::byte关于优先选择的文档,operator| for std::byte的实现应该等同于

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
constexpr std::byte operator|(std::byte l, std::byte r) noexcept
{
    return std::byte{ static_cast<unsigned>(l) | static_cast<unsigned>(r) };
}

(操作符&^~应该类似地实现)

如果lr的底层类型是char unsigned,为什么std::byte需要转换为int unsigned

注意:我知道char unsigned{} | char unsigned{}会导致int,因为每个操作数在按位或应用之前被提升到int;而unsigned{} | unsigned{}返回unsigned,而没有进行升级。不过,我不明白在这情况下,究竟是甚麽问题会导致这样的推广呢?

EN

回答 1

Stack Overflow用户

发布于 2022-06-28 07:00:17

对于小于int的整数类型,它们在应用运算符之前被提升为int。这意味着如果你

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
return std::byte{ l | r };

那么您将有一个有符号的整数。通过使用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
return std::byte{ static_cast<unsigned>(l) | static_cast<unsigned>(r) }

您显式地将操作数转换为无符号整数,这样就不会发生对int的提升。

与无符号整数类型不同的是,在C++20作为有符号整数不需要使用两个补码表示之前,这可能会产生不同。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72788661

复制
相关文章
PS选区复制_ps怎么取消选区
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/168103.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/20
1.9K0
GPUImage详细解析(九)图像的输入输出和滤镜通道
前言 GPUImage系列解析已经接近尾声,这次介绍的是: 纹理输入输出GPUImageTextureOutput 和 GPUImageTextureOutput 二进制数据输入输出GPUImageRawDataInput 和 GPUImageRawDataOutput 滤镜通道GPUImageFilterPipeline demo用来展示如何使用GPUImageRawDataOutput。 概念介绍 1、GPUImageTextureOutput GPUImageTextureOutput类实现GP
落影
2018/04/27
2.3K0
GPUImage详细解析(九)图像的输入输出和滤镜通道
DataGridView输出或保存为Excel文件(支持超过65536行多Sheet输出)
/// <summary>         /// DataGridView控件数据导出到Excel,可设定每一个Sheet的行数         /// 建立多个工作表来装载更多的数据         /// </summary>         /// <param name="ExportGrid">DataGridView控件</param>         /// <param name="fullFileName">保存的文件路径</param>         /// <param name=
跟着阿笨一起玩NET
2018/09/18
1.5K0
Crimm Imageshop 2.3。
本文介绍了一款名为 Crimm 的图像处理软件,该软件具有体积小、功能丰富、使用方便等特点。它支持多种图像格式,并提供了丰富的图像处理功能,包括图像编辑、调整、滤镜和特效等。此外,该软件还提供了选区、图层、历史记录、颜色、笔刷等实用功能,能够满足用户对图像处理的基本需求。同时,该软件还具备跨平台、免费、开源等特点,是一款非常实用的图像处理工具。
用户1138785
2018/01/03
1.1K0
Crimm Imageshop 2.3。
创建选区快捷键是什么_Photoshop选区操作的快捷键
按住shift用绘画工具在画面点击就可以在每两点间画出直线,按住鼠标拖动便可画出水平或垂直线。
全栈程序员站长
2022/07/02
5450
linux如何将输出重定向到文件和标准输出
调用ls -al > rumenz.txt会将来自该命令的任何输出重定向到指定的文件,有没有办法将输出重定向到文件并将其显示在标准输出上? > ls -al > rumenz.txt 上面的命令执行后,数据被输入到rumenz.txt文件,屏幕没有任何输出,如果既想输入到文件又想输入到屏幕,请使用如下的方法. 使用tee 如果您只关心标准输出 > ls -al | tee rumenz.txt 如果要包含 stderr,请执行以下操作,会覆盖之前的数据 > ls -al 2>&1 | tee rumen
入门笔记
2022/06/02
5.4K0
linux如何将输出重定向到文件和标准输出
原文链接:https://rumenz.com/rumenbiji/linux-file-stdin-stdout.html
入门笔记
2021/11/26
5.1K0
如何将组态软件画面自动截屏并保存为图片
上周有个朋友突然给我发信息,说他们领导让他实现一个功能:将正在运行的SE画面自动按时间截屏并以图片方式保存到指定目录下。
剑指工控
2021/11/09
1.1K0
photoshop 选区操作介绍
上一篇photoshop 选框和套索工具中介绍了如何使用工具抠图,但是只是简单介绍了下单个工具的使用,还没有讲到如何混合使用。
Devops海洋的渔夫
2019/05/31
7560
ps关闭选区替代字
2023/10/18
5240
ps关闭选区替代字
将cmd中命令输出保存为TXT文本文件
例如:将Ping命令的加长包输出到D盘的ping.txt文本文件。 1、在D:目录下创建文本文件ping.txt(这步可以省略,偶尔提示无法创建文件时需要) 2、在提示符下输入ping www.idoo.org.ru -t > D:ping.txt 3、这时候发现D盘下面的ping.txt里面已经记录了所有的信息 备注: 只用“>”是覆盖现有的结果,每一个命令结果会覆盖现有的txt文件,如果要保存很多命令结果的话,就需要建立不同文件名的txt文件。 那么有没有在一个更好的办法只用一个txt文件呢?答案是肯定的,要在同一个txt文件里面追加cmd命令结果,就要用“>>”替换“>” 就可以了.
Hongten
2018/09/13
4.4K0
将cmd中命令输出保存为TXT文本文件
SPPnet
论文: Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition. 来源:ECCV 2014
全栈程序员站长
2022/08/10
1980
SPPnet
Dicom图像解析
后缀: .dcm、.DCM Dicom中规定的坐标系是以人坐标系为绝对坐标系的,规定X轴正向指向病人的左侧,Y轴正向指向病人的背部,Z轴正向指向病人的头部。但是,坐标点的位置,每个厂商都有自己的看法 下图展示了成像过程中对应的坐标系 成像坐标系
范中豪
2019/09/10
1.9K0
Dicom图像解析
Advanced CNN Architectures(R-CNN系列)
除了将该图像标记为猫外,还需要定位图中的猫,典型方法是在该猫周围画一个边界框,这个方框可以看做定义该方框的一系列坐标,(x,y) 可以是方框的中心w 和 h 分别表示方框的宽和高。 要计算这些值 我们可以使用典型分类 CNN,用到的很多相同结构。
小飞侠xp
2018/10/10
7520
Advanced CNN Architectures(R-CNN系列)
关于Adobe Photoshop调整选区介绍
高品质预览:渲染更改的准确预览。此选项可能会影响性能。选择此选项后,在处理图像时,按住鼠标左键(向下滑动)可以查看更高分辨率的预览。取消选择此选项后,即使向下滑动鼠标时,也会显示更低分辨率的预览。
IT胶囊
2021/06/02
2.5K0
目标检测分割--Mask R-CNN
Mask R-CNN ICCV2017 best paper https://arxiv.org/pdf/1703.06870 Mask R-CNN= Faster R-CNN + FCN, 大致可以这么理解!
用户1148525
2019/05/26
8930
matlab输出论文仿真图
一般来说学校对于学术论文的图像都有一定的要求,比如线性、字体大小等,本文将讲解怎么出高清的图和绘制符合要求的图。
用户9925864
2022/07/27
1.1K0
matlab输出论文仿真图
PIXI输出base64图像
如果想使用 canvas 原生的 toDataURL ,参考这篇问答,以下代码是具体方法。但这个方法如果在iOS设备上使用,获取到的图像会上下翻转(效果相当于css3的transform: scaleY(-1);)。原因不明,可能也是webGL搞鬼吧。
黒之染
2018/10/19
1.6K0
【语义分割】一篇看完就懂的最新深度语义分割模型综述
语义分割结合了图像分类、目标检测和图像分割,通过一定的方法将图像分割成具有一定语义含义的区域块,并识别出每个区域块的语义类别,实现从底层到高层的语义推理过程,最终得到一幅具有逐像素语义标注的分割图像。
AI算法与图像处理
2020/02/24
16.4K0
【语义分割】一篇看完就懂的最新深度语义分割模型综述
点击加载更多

相似问题

使用SSH密钥进行BlueOcean连接

17

capistrano未使用ssh密钥进行记录

10

Submit_tag确认消息未显示确认消息

119

使用SSH密钥进行http用户验证

33

如何使用Yubikey对消息进行签名

123
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文