char 类型乘以另一个 char

2023-12-02

C/C++ 中两个字符相乘的结果是什么类型?

unsigned char a = 70;
unsigned char b = 58;
cout << a*b << endl; // prints 4060, means no overflow
cout << (unsigned int)(unsigned char)(a*b) << endl; // prints 220, means overflow

我期望两个 T 类型的数字(例如 char、short、int)相乘的结果变成 T。看起来是int for char因为sizeof(a*b) is 4.

我编写了一个简单的函数来检查乘法结果的大小:

template<class T>
void print_sizeof_mult(){
  T a;
  T b;
  cout << sizeof(a*b) << endl;
}

print_sizeof_mult<char>(), print_sizeof_mult<short>(), and print_sizeof_mult<int>()是 4 和print_sizeof_mult<long>() is 8.

这些结果仅适用于我的特定编译器和机器架构吗?或者是否在某处记录了 C/C++ 中基本操作的输出是什么类型?


根据 C++ 标准 (4.5积分促销)

1 除 bool、char16_t、char32_t 或之外的整数类型的纯右值 wchar_t 的整数转换等级 (4.13) 小于 如果 int 可以表示所有,则 int 可以转换为 int 类型的纯右值 源类型的值;否则,源右值可以是 转换为 unsigned int 类型的纯右值。

和(5 个表达式)

10 许多二元运算符期望算术或操作数 枚举类型导致转换并以类似的方式产生结果类型 方式。目的是产生一个通用类型,这也是 结果。这种模式称为通常的算术转换, 其定义如下:

....

  • 否则,积分促销(4.5)应在两者上进行 操作数.61 那么以下规则应适用于升级的 操作数:

最后(5.6 乘法运算符)

2 * 和 / 的操作数应为算术或无作用域 枚举类型; % 的操作数应具有整数或无作用域 枚举类型。通常的算术转换是在 操作数并确定结果的类型。

Types char and short转化排名低于该类型的排名int.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

char 类型乘以另一个 char 的相关文章

  • 在c++中定义一堆静态方法

    哪个是合适的 class xyz static int xyzOp1 static int xyzOp2 OR namespace xyz static int xyzOp1 static int xyzOp2 当我们使用类标签与命名空间标
  • MVVM:来自 FileOpenPicker 的图像绑定源

    我将 OnActivated 添加到 app xaml cs 中 它可以正常工作 protected async override void OnActivated IActivatedEventArgs args var continua
  • 没有配置身份验证处理程序来处理该方案

    这是一个非常烦人的问题 我在我的 asp net core 项目上设置 cookie 身份验证 有时会出现此错误 有时不会 没有图案 它只是开始抛出错误 然后突然停止 然后再次开始 例外情况是 InvalidOperationExcepti
  • 为类型列表创建别名并将其作为模板参数传递

    我正在使用可变参数模板来实现访问者模式 template
  • 有关shared_ptr的竞态条件示例

    为什么没有竞争条件代码片段 https godbolt org z nEYPYqdqK below include
  • 以编程方式更新 Wifi 网络

    我正在尝试创建一个程序 当某个 wifi 网络在范围内时 该程序会连接到该网络 即使已经连接到另一个 wifi 也是如此 我在用着简单Wifi https github com DigiExam simplewifi 基本上效果很好 除了在
  • 图片框、双击和单击事件

    我有一个奇怪的问题 我有一个图片框双击事件以及单击事件 问题是即使我双击该控件 也会引发单击事件 如果我禁用单击事件 则双击事件正在工作 这个问题已经在这里讨论过 https stackoverflow com questions 1830
  • 如何将 dll 中包含的组件嵌入到 exe 中,以便它可以从内存运行?

    我正在尝试制作一个必须从内存运行的程序 通过Assembly Load bin 如上所述here http www codeproject com Articles 13897 Load an EXE File and Run It fro
  • 如何在单例类和未命名类之间进行选择?

    我会使用这样的单例 Singleton single Singleton instance single gt do it 我会使用这样的未命名类 single do it 我觉得单例模式除了具有可读的错误消息之外 与未命名的类相比没有任何
  • 使用c#在mac上启动外部进程

    我成功地使用 System Diagnostics Process Start 在 Windows 上启动我的外部单声道可执行文件 然而在mac上却失败了 我没有收到任何错误 只是什么也没发生 我尝试按以下方式进行操作 System Dia
  • 仅使用一个 #include 表达式一次包含多个头文件?

    是否有任何表达式可以使语法一次包含多个标头 而无需为每个新文件编写 include 表达式 例如 include
  • 将两个垂直滚动条相互绑定

    我在控件中有两个 TextBox 并且它们都有两个 VerticalScrollBar 我想在它们之间绑定 VerticalScrollBars 如果一个向上 第二个也会向上等等 如果可以的话我该怎么做 Thanks 不是真正的绑定 但它有
  • 将 JavaScript 引擎嵌入到 .NET 中 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 只是想知道是否有人尝试过将任何 js 引擎嵌入并实际集成到 net 环境中 我可以找到并实际使用 经过L
  • 为什么 C# 中的命名空间允许循环依赖?

    在 c 中 您可以在文件 a cs 其命名空间为 MyApp A 中拥有一条语句 using MyApp B 而文件 b cs 其名称空间为 MyApp B 已经包含该语句 using MyApp A 如果类似的依赖关系存在于不同的 dll
  • 括号内声明的对象的范围

    如果我声明一个这样的对象 void main myclass objectA anotherclass true true 0 即 我通过直接调用后者的构造函数来创建一个 objectA 和另一个对象 anotherclass anothe
  • Qt - 添加超链接到对话框

    有没有办法在 Qt 对话框中添加可点击的超链接 IE 它应该看起来像一个超链接 蓝色文本 当您单击它时 它应该在浏览器中打开该超链接 像这样的东西 Use QLabel setOpenExternalLinks bool 并在标签上设置文本
  • ArrayList 有什么问题?

    最近我问了一个关于 SO 的问题 其中提到了可能使用 c ArrayList 来解决问题 有人评论说使用数组列表不好 我想了解更多有关此的信息 我以前从未听说过关于数组列表的这种说法 有人可以带我了解使用数组列表可能出现的性能问题吗 C n
  • TCP/IP 传输期间套接字数据损坏

    当我通过预连接的 TCP IP 套接字发送数据时 我发现数据已损坏 Example Station1 正在向 Station2 发送数据 我已经在发送之前 在 S1 和接收之后 在 S2 打印了数据 以下是消息 S1 发送的数据是ACKS2
  • C 中的 2 个字符要短

    我有2个字符 Char 128和查尔2 如何将这些字符转为 Short640 in C 我试过了 unsigned short getShort unsigned char array int offset short returnVal
  • 对 Action 方法的两个并行 ajax 请求排队,为什么?

    我正在使用 ASP NET MVC 开发一个视频网站 我希望在我的应用程序中拥有的一项功能是转码视频 但由于转码过程可能非常耗时 我想向客户端用户展示该过程的进度 因此 我的架构是使用一个控制器操作来处理整个转码过程 并将其进度写入存储在服

随机推荐

  • 使用 runas 命令运行脚本

    我需要以管理员身份运行安装脚本 我尝试了几件事 但没有一个有效 runas user Administrator install bat shell 要求输入密码 然后打开一个新的 shell 窗口 并立即关闭它而不执行脚本 runas u
  • 正则表达式查找sql​​注释

    我正在尝试找到一个可用于匹配 SQL 样式注释的正则表达式 单行注释相当简单 但是我不知道如何匹配多行注释 我不需要实际的替换代码 只需要正则表达式来匹配注释 例如 select from valid sql1 select from va
  • 如何使用 JavaScript 创建 div 并设置其样式?

    如何使用 JavaScript 创建包含内容的 div 并设置其样式 并附加到页面 我知道这是可能的 但是怎么可能呢 var div document createElement div div style width 100px div
  • 尝试获取 jstree 中 Change_state 上已检查项目的列表

    Using jsTree pre1 0 fix 1 我想获取以下列表id代表所有已检查的项目 或者更好的是 带有以下内容的 JSON 对象 id以及每个选中项目的文本 然后我将用它进行 ajax 调用 此外 每当检查或未检查的内容发生状态更
  • 警告:file_get_contents():https:// 包装器在服务器配置中被所有禁用

    当我上传带有邮政编码的 csv 文件时 它将转换并保存纬度和经度 将邮政编码转换为经纬度时发生错误 在我的本地主机中它工作正常 当我在实时服务器中上传时 我收到这个错误警告 file get contents https 包装器在服务器配置
  • java代码访问drools guvnor

    我们有一个项目要求通过Web应用程序访问guvnor 有人可以让我知道如何通过java代码访问guvnor吗 抵押贷款示例已经有一些示例代码 Drools Expert手册大概有详细解释 这是代码 private static Knowle
  • 带有透明三角形的导航栏活动链接

    你知道如何使用 CSS 来做到这一点吗 在我的导航栏中 我希望看到活动链接的透明三角形 如果我创建一个带有透明三角形的 PNG 图像并像这样使用它 background rgba 0 0 0 0 4 url triangle png no
  • 非二叉树高度

    有没有办法找到不一定是二叉树的高度 对于二叉树的高度有很多算法 但它们都不适用于非二叉树 就在这里 递归方法可能类似于 public class TreeNode
  • Javascript OO 参考这个

    简短描述 我使用 OO Javascript 和函数声明 new 关键字和原型方法 下面的示例 我需要一种方法来在对象的每个方法中引用 self 对象 this 似乎只有在我直接调用该方法时才有效 否则 this 似乎指的是调用该方法的任何
  • 条件运算符“?:”

    我昨天完成了 C 语言编程考试 有一个问题我无法回答 尽管我今天学习了 但我也想不出解决方案 所以我们有这个 int A 1 B 2 C 3 X 1 X B C A C A C A printf A d B d C d X d n A B
  • Redux 状态没有立即更新?

    setCurrentPage 只是将对象存储到我的全局存储中的页面对象中 所以如果我在设置后尝试立即访问它 似乎有延迟并且对象是空的 但是如果我在按钮中console log相同的对象并单击它 它就会被填充 redux 是否存在我不知道的延
  • 有没有办法让我的 Android 应用程序在安装时运行一些自定义代码?

    我对为我的应用程序运行一些反盗版措施有一些想法 所以我想知道是否可以这样做来在安装时对应用程序进行签名 在第一次启动时运行代码是不好的 因为有人仍然可以复制 apk 而不运行它 不幸的是 无法在 Android 上安装时运行代码 只能在首次
  • Intellij-IDEA GUI 表单的 Ant 构建

    我有一个使用表单的项目 它编译并运行得很好 但是当用生成的蚂蚁它不运行 我的 ant 文件有java2任务我将所需的 jar 添加到我的 lib 文件夹中
  • 测试 IInterruptableJob

    我有以下代码 private static void InterruptAJob JobKey foundJobKey IScheduler sched if null foundJobKey sched Interrupt foundJo
  • 泛型方法重载的问题

    我有以下方法 void s
  • Python3 Flask上传文件在服务器内存中

    我在Python3中使用Flask作为网络服务器 并使用Flask的上传功能 将文件上传到服务器会产生werkzeug datastructures FileStorage object 我需要此文件的功能之一 还需要能够从路径对象打开文件
  • 如何将多个 JSON 字符串合并为一个 ( Java )

    我尝试寻找一个可以使用的JAVA库 但没有成功 是否有一个 gson jackson groovy 库可以用来将多个 JSON 字符串组合或合并到一个有效负载中 例子 JSON 负载 A B 和 C 我希望将 B 和 C 添加 合并到 A
  • 组织原型 javascript,同时保留对象引用和继承

    我使用 JavaScript 原型和继承构建了一个大型应用程序 但我很难组织我的代码 例如 我有一个类轮播 它有很多这样的功能 Carousel prototype next function Carousel prototype prev
  • JSON.NET 反序列化 - 单个结果与数组

    我在尝试确定如何使我的序列化能够正确访问单个结果以及数组时遇到困难 当我进行 REST 调用在服务器上查找某些内容时 有时它会返回模型数组 但如果搜索结果只有一个模型 则不会作为错误返回 这是当我收到无法反序列化的异常时 因为对象属性需要一
  • char 类型乘以另一个 char

    C C 中两个字符相乘的结果是什么类型 unsigned char a 70 unsigned char b 58 cout lt lt a b lt lt endl prints 4060 means no overflow cout l