9.8一些错误的原因
错误 一些 原因
2023-09-11 14:22:52 时间
1、段错误一般是当你访问了未申请的内存或非法的内存时产生的。主要还是程序的内存管理有问题。(可能是数组开小了)
2、记录特别大的数用字符串,然后如何记录字符串中的数字个数呢?
为什么用字符串的某位数字减去‘0’就能得到该整数呢?
下面就说说为什么字符减'0'可以到相应的整数。现在比如我们要字符‘1’转换成数字1,就这么一个变化,我们看到了大家注意了字符型常量用''括起来的原因是,它们在计算机中都以各自的ASCII表示。而‘1’的对应编码是49的二进制码,但是我们的数字1,就等于1呀,所以为了由原来的‘1’实际上就是49的二进制变成现在的1对应的二进制1,只好用49-48=1了。但是在ASCII码里‘0’对应的刚好是48的二进制码,所以我们转换的时候只需要‘1’-‘0’=1;就可以了。而数字的ASCII码是按顺序规定的。所以其它字符要转换成数字都可以用减‘0’来表示。比如‘2’的ASCII是50,而我们要得到数字2,于是用‘2’-48=2了。看来当我们知道数据在计算机中的存储规则的时候,问题就迎刃而解了。
总之一句话:因为ASCII字符中的数字(‘123456’)想转换为纯数字(1,2,3,4...)就要减去48(ASCII单位),而‘0’的ASCII单位正好等于48。
相关文章
- 在vs2010中编译log4cxx-0.10.0具体方法(从下载、编译、解决错误具体介绍)
- 机器学习入门阶段程序猿易犯的5个错误
- 高德地图引入库错误std::string::find_first_of(char const*, unsigned long, unsigned long) const"
- Git:CentOS7安装git客户端,make: *** [configure] 错误 127
- [转]eclipse导入V7包出现错误解决办法
- Eclipse导入android项目出现很多错误
- 出现( linker command failed with exit code 1)错误总结
- 【k8s第二步】Kubernetes-Kubeadm部署安装【已修正错误】
- 解决access 导出 excel 字段截断错误的问题
- 错误Name node is in safe mode的解决方法 (转)
- CentOS编译安装emacs 25.3 错误 make: *** No targets specified and no makefile found. Stop.
- centos7 ping socket Address family not supported by protocol 错误修复