iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++有符号和无符号之间的转换方式
  • 937
分享到

C++有符号和无符号之间的转换方式

2023-06-20 14:06:07 937人浏览 薄情痞子
摘要

本篇内容介绍了“c++有符号和无符号之间的转换方式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!先来看一个程序:#include<iO

本篇内容介绍了“c++有符号和无符号之间的转换方式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

先来看一个程序:

#include<iOStream> int main(){    unsigned a=5;    int b=-10;    std::cout<<b+b<<std::endl;//正常输出    std::cout<<a+b<<std::endl;     return 0;}

打印:-20
4294967291

-20正常打印我们都知道,但当一个有符号和一个无符号之间的数进行相加减会发生什么呢?

是这样的:a+b,首先把负数转换为无符号数,然后在进行运算。

b转换为无符号数就是对b取模,2^32+b,结果为4294967286。

再看:

#include<iostream> int main(){      unsigned a=10,b=5;      std::cout<<b-a<<std::endl;       return 0;}

打印:4294967291

其过程是对运算后的结果-5取模

循环中的发现:

#include<iostream> int main(){     unsigned u=5;     while(u>=0)     {          --u;          std::cout<<u<<std::endl;     }      return 0; }

运行结果将是无限打印,原因是:当u=0时,仍能进去循环,然后u=-1了,由于u的类型是unsigned则被取模转换了,则u总是大于0的,所以是无限循环。

此时应将while里面的条件改成:u>0,当u=0时不能进去循环,u不是小于0也就没有类型转换,则循环能终止。

“C++有符号和无符号之间的转换方式”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: C++有符号和无符号之间的转换方式

本文链接: https://www.lsjlt.com/news/297354.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++有符号和无符号之间的转换方式
    本篇内容介绍了“C++有符号和无符号之间的转换方式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!先来看一个程序:#include<io...
    99+
    2023-06-20
  • C++有符号和无符号之间的转换问题
    先来看一个程序: #include<iostream> int main() { unsigned a=5; int b=-10; std...
    99+
    2022-11-12
  • C语言如何实现无符号数和有符号数间的运算
    本篇内容主要讲解“C语言如何实现无符号数和有符号数间的运算”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言如何实现无符号数和有符号数间的运算”吧!unsigned int和int进行运算直接...
    99+
    2023-06-17
  • clob和字符串之间的转换方法
    这篇文章主要介绍“clob和字符串之间的转换方法”,在日常操作中,相信很多人在clob和字符串之间的转换方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”clob和字符串之间...
    99+
    2022-10-18
  • C语言中字符串与各数值类型之间的转换方法
    C语言的算法设计中,经常会需要用到字符串,而由于c语言中字符串并不是一个默认类型,其标准库stdlib设计了很多函数方便我们处理字符串与其他数值类型之间的转换。 首先放上一段展示各函...
    99+
    2022-11-11
  • C#在Word中添加Latex数学公式和符号的方法
    本篇内容介绍了“C#在Word中添加Latex数学公式和符号的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!注意:需要使用7.6.5版本...
    99+
    2023-06-03
  • Python中bytes字节串和string字符串之间的转换方法
    目录背景代码代码说明:验证一下附:bytes和string区别总结背景 在工作中经常会碰到字节串(bytes)与字符串(string)之间转换的问题,做个记录。 bytes只负责用字...
    99+
    2022-11-13
  • MySQL怎么有效的实现存储IP地址及字符串IP和数值之间的转换
    小编给大家分享一下MySQL怎么有效的实现存储IP地址及字符串IP和数值之间的转换,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!之间,建议当存储IPv4地址时,应该使用32位的无符号整数(UNSIGNED INT)来存储I...
    99+
    2023-06-22
  • 详解MySQL如何有效的存储IP地址及字符串IP和数值之间如何转换
    在看高性能MySQL第3版(4.1.7节)时,作者建议当存储IPv4地址时,应该使用32位的无符号整数(UNSIGNED INT)来存储IP地址,而不是使用字符串。但是没有给出具体原...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作