c语言char类型溢出,C语言中数据溢出的问题---以char类型为例
一、首先char类型的取值范围是-128~127,对于127的二进制表示是:01111111,-127的二进制表示是:11111111,那么问题来了:-128是怎么来的?1、当charch=128或c.
一、首先char类型的取值范围是-128~127,对于127的二进制表示是:0111 1111,
-127的二进制表示是:1111 1111,那么问题来了:-128是怎么来的?
1、当 char ch = 128 或 ch = -0时,则二进制为 1000 0000
计算机内存中都是按负数来处理的
当求补码的时候会溢出,则需要先进行位扩展,变为 1 1000 0000
然后,反码:1 0111 1111
补码:1 1000 0000 ( -128 )
由于char 为8个字节,截取后八位,变为 1000 0000 ,则128 或 -0在内存中为 -128
2、当 char ch = -129时, 则二进制为 1 1000 0001
反码:1 0111 1110
补码:1 0111 1111
截取后八位,变为 0111 1111 ( 127);
例如:char ch = 2000;最终计算机所读到的数是多少呢?
2000的二进制表示是:111 1101 0000,,截取八位为:1101 0000,最高位是符号位,计算机认为它是一个负数,而负数是以补码的方式存储的,所以,通过取反、加1后变为:1011 0000,这样ch = -48。
c语言char类型溢出,C语言中数据溢出的问题---以char类型为例相关推荐
- c语言变量名必须用小写 常量用大写,day02 -C语言 常量 变量 数据类型 进制转换 数据溢出...
常量 - 不会变化的数据 "hello" 'A' 10 3.14 #define PI 3.14 //采用宏定义的方法 定义一个常量 const int a = 10; 求圆的面积 ...
- 如何用Python语言编写源程序,读取Excel中数据,并画出柱状图?
现在,随着计算机的普及,以及数据量的增多,对大型数据的分析已经是我们手算不能解决的了,必须借助计算机:那么,学习计算机其实也和我们学习中文.英文一样,要学习他们的写作规则,掌握其中原理.所以,我们首先 ...
- char型变量声明java_java中变量的声明和变量的类型
1.变量的概念: 内存中的一个存储区域该区域有自己的名称(变量名)和类型(数据类型)Java中每个变量必须先声明,后使用该区域的数据可以在同一类型范围内不断变化 使用变量注意: 变量的作用域:一对{ ...
- python中文件的存储类型_关于python中数据存储大总结,涵盖文件系统和数据库存储两种方法-文件系统类型...
存储数据是python必不可免的话题,数据的存储类型也多种多样,文件系统存储(.txt..csv..json.多媒体存储).关系型数据库存储(MySQL等).非关系型数据库存储(MongoDB).今天 ...
- java溢出怎么处理_java数据溢出怎么处理?
publicstaticvoidmain(String[]args){//TODO自动生成的方法存根Scannersc=newScanner(System.in);Stringaa=sc.nextLi ...
- c语言中文网_在C语言中使用中文字符
大部分C语言教材对中文字符的处理讳莫如深,甚至只字不提,导致很多初学者认为C语言只能处理英文,而不支持中文.其实C语言是一门全球化的编程语言,它支持世界上任何一个国家的语言文化,包括中文.日语.韩语等 ...
- 用c语言编程牛顿环实验,C语言下迈克耳孙干涉仪测量空气折射率的实验探究.pdf...
C语言下迈克耳孙干涉仪测量空气折射率的实验探究.pdf 语言下迈克耳孙干涉仪测量空气折射率的实验探究 张之韬 李雪梅 ( 浙江海洋大学数理与信息学院 浙江 舟山 ) ( 收稿日期 ) 摘 要 通过压强 ...
- c语言数组字节偏移,C语言数组注意问题
inta[10]; 数组名是常量不能为左值(如:a=5:) 不要认为数组元素a[i]代表数组元素的值,它代表数组元素本身,可作为左值使用. 为指针进行初始化的字符串是只读的 (如:char*p=&qu ...
- JAVA中char占用多少字节_Java中char占用几个字节
https://www.cnblogs.com/louiswong/p/6062417.html https://www.cnblogs.com/fnlingnzb-learner/p/7272348 ...
最新文章
- js_sl 延迟菜单
- android studio项目总结,android studio 3.0 升级 项目遇到的问题及更改思路(问题小结)...
- caffe配置中的一些问题
- nodejs 30行代码 爬豆瓣电影数据
- IOS之学习笔记十五(协议和委托的使用)
- “AI捡垃圾”上热搜了!46城垃圾分类将投200亿,你怎么看?
- python正向切片_使Python切片正常(正/正向+无无+无负索引+在边界内)
- python web开发,organization的model设计
- Open cup #2
- matlab中nc文件,教程合集 | MATLAB文件读写(以nc与txt为例)
- 测试库的接收到的数据是否完整(jrtplib为列)
- Codeforces Round #466 (Div. 2): E. Cashback(单调队列+DP)
- ps 命令的详细功能解析
- 重新挂载磁盘mysql重新建表_Linux重新挂载磁盘
- Android TV CTS 测试认证汇总
- AIDE手机编程初级教程(零基础向) 1.1 认识我的第一个应用
- PDF文件转换成excel文件的三种方法
- java直播在线人数怎么做_添加抖音直播间在线人数怎么做
- C语言习题二:比赛评分系统
- chia官方矿池常见问题
热门文章
- Linux android studio :'tools.jar' seems to be not in Android Studio classpath.
- ListView上移 和下移
- vc++ 关于 指针操作
- linq Distinct
- C#中的Lock锁深入理解
- VS中的路径宏:OutDir、ProjectDir、SolutionDir等各种路径的说明
- 内网访问不到内网网站问题和不用端口号访问网站问题
- C代码中如何调用C++ C++中如何调用C
- 剑指offer(12)数值的整数次方
- AlexNet 和 VGG-Net的区别