3.关于无符号类型和char的一些必懂知识
时间:2019-11-13
本文章向大家介绍3.关于无符号类型和char的一些必懂知识,主要包括3.关于无符号类型和char的一些必懂知识使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
3.1. 输出一个用负数赋值的无符号类型声明的变量或者输出一个两个无符号类型声明的变量相减的结果的结果是什么?
1 unsigned int num=1;
2 unsigned int num1 = 2;
3 std::cout << num - num1;
这里的结果应当是(-10)mod (int类型的最大值加1)得到的结果,mod 运算的结果符号看右边的值,显然是正数的结果,32位机器的int是最大值4294967295,所以最后的结果是4294967295。不是应该是10吗?如何从计算机存储的角度看待这个结果呢?数值在计算机中的的存储是用原码,反码和补码的来解决的,而且只保留了加法运算,补码解决了原码正负相加结果不符实际和反码无法区分正负0的弊端,这里不再赘述,具体看转的文章中有。-1的二进制补码是1111 1111 1111 1111...1111将它转换为无符号数后,恰好为4294967295,原码和补码具有一致性,于是就有了上述的结果。
3.2.char 中的字符集是怎么回事?如何将字符的0~9转换成int?
(1)字符集是用八进制或者十六进制数字对可打印和不可打印的字符进行编码使之一一对应,在C++中可以使用转义序列'\'进行对应的输出。
(2)因为0~9对应的字符集中是连续的,只需要拿该字符减去‘0’即可得到对应的int数字
原文地址:https://www.cnblogs.com/Royzzzzz/p/11851688.html
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(87)-MVC Excel导入和导出
- sl从程序集中读取xaml文件
- WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)[实现篇]
- WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)[扩展篇]
- 如何解决打开VS2010后没有UI界面的问题
- RadRails1.0降临——增加Profiler、CallGraph Analyzer和Rails Shell等新特性
- Rails存储库从SVN转向Git
- 报告称10后已变成出境游“老司机”屌丝80后:我还没出过国
- 担心人工智能取代你的工作?听听微软科学家怎么说!
- Radiant: 基于Ruby on Rails的内容管理系统
- “大数据”如何追回1.3亿元税款?
- Enterprise Library深入解析与灵活应用(5):创建一个简易版的批处理执行器,认识Enterprise Library典型的配置方式和对象创建方式
- BTC.com时讯-IBM等老牌大企业因区块链技术获得新活力
- Kit 3D 更新
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 一起来学matlab-matlab学习笔记10 10_3关系运算符和逻辑运算符
- 一篇文章学懂Shell脚本,最简明的教程在这里
- 一起来学matlab-matlab学习笔记10 10_5 通用字符串操作和比较函数
- 一个案例彻底弄懂如何正确使用 mysql inndb 联合索引
- 一起来学matlab-matlab学习笔记11 11_2 高维数组处理和运算 squeeze, ind2sub, sub2ind
- matlab结构体 rmfield,arrayfun,structfun,struct2cell,cell2struct
- PHP函数参数传递方法的具体改进技巧
- matlab学习笔记11_3 高维数组处理 filp, shiftdim, size, permute, ipermute
- 看完这篇文章,你的Linux基础就差不多了
- jzy3D从入门到弃坑
- git丢弃本地修改的所有文件(新增、删除、修改)
- Jmetal设置Solution Variables
- git log 查看某文件的修改历史
- 进程和线程的概念、区别和联系
- CDATA和转义字符