字符串比较大小的principle 、ASCII码和字符串string

2024-04-07 08:58

本文主要是介绍字符串比较大小的principle 、ASCII码和字符串string,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

http://www.cnblogs.com/aduck/articles/2246168.html 

换行符的ASCII码是: 10,C语言用'\n'表示。回车符的ASCII码是: 13,C语言用'\r'表示。0是48   A65 a 97      空格 3
#include<iostream>  //代码1 表示
#include<string>
using namespace std;
int main()
{
	//string max = NULL;//错误
	string max1 = "";
	string max2 = " ";
printf("%d\n", max1.size());//0
	printf("%d\n", max2.size());//1
	printf("%d\n", sizeof(max1));//28  一般是4  vs2013是28
	printf("%d\n", sizeof(max2));//28  一般是4  vs2013是28
}

#include<iostream>  //代码1 表示

#include<string>
using namespace std;
int main()
{
string max = "0";//48
string max1 = "";//0
string max2 = " ";//32
string max3 = "a";//97
string max4 = "-1";//45
string max5 = "-3";//45
string max6 = "-12";//45 负数全是45(c++)
string max7 = "-26";//45
string max8 = "12";//49 等价于1
max.c_str();
// string max3 =null;
printf("%d,%d,%d,%d\n", max,max1,max2,max3);
printf("%d,%d,%d,%d\n", max.c_str(), max1.c_str(), max2.c_str(),
max3.c_str());
printf("%d,%d,%d,%d,%d\n", max[0], max1[0], max2[0], max3[0], max4[0]);
printf("%d,%d,%d,%d,%d\n", max.c_str()[0], max1.c_str()[0], max2.c_str()[0],
max3.c_str()[0], max4.c_str()[0]);


printf("%d,%d,%d,%d\n", max5[0], max6[0], max7[0], max8[0]);
printf("%d,%d,%d,%d\n", max5.c_str()[0], max6.c_str()[0], max7.c_str()[0], 
max8.c_str()[0]
);
char c = '-1';  //49
char c1 = '-2';// 50 取绝对值

char c2 = '-100';//48
char c3 = '-114';//52  取绝对值对10求余数
printf("%d,%d,%d,%d\n",c,c1,c2,c3);
}


//结果
//6695056, -859045840, -858993460, -858993460  //随机数字
//4980076, 4980040, 4980004, 4979968  //随机数字
//48, 0, 32, 97, 45
//48, 0, 32, 97, 45
//45, 45, 45, 49
//45, 45, 45, 49
//49, 50, 48, 52
//请按任意键继续. . .. .

https://social.microsoft.com/Forums/es-ES/66a069ec-bce7-4952-8bc1-b7d0145792be/string-?forum=visualcshartzhchs

http://wenwen.sogou.com/z/q326415606.htm

http://bbs.csdn.net/topics/120041459

string比较大小的原理(同c语言字符串的比较):

是首字母的ASCII码,如果首字母相同再比较第二个字母,以此类推。举例来说字符串abstract小于board。
比较的时候,从字符串左边开始,一次比较每个字符,直接出现差异、或者其中一个串结束为止。
比如ABC与ACDE比较,第一个字符相同,继续比较第二个字符,由于第二个字符是后面一个串大,所以不再继续比较,结果就是后面个串大。
再如ABC与ABC123比较,比较三个字符后第一个串结束,所以就是后面一个串大。
所以,长度不能直接决定大小,字符串的大小是由左边开始最前面的字符决定的。
http://zhidao.baidu.com/link?url=mwgLd1SF5fpBvMDLklFdK7-XAzPjqM61WvhKojdJxniWAPkfUxVyV4KmtcrLPeWqnFFKNSTZNX4ovx0eApEXNq
#include<iostream>
#include<string>
using namespace std;
int main()
{	
	 string max = "2";//48
	 string max1 = "1234";
	 printf("%d\n", max > max1 ? 1 : 0);
}//结果
1
所以字符串比较大小是优先级比较,左大则大。而不是以长度为准。所以如果长度相同的数字可以直接用字符串比较大小了,但必须都是正数。上一篇日志时间搓算法就是用的这个原理。

这篇关于字符串比较大小的principle 、ASCII码和字符串string的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/882162

相关文章

java获取图片的大小、宽度、高度方式

《java获取图片的大小、宽度、高度方式》文章介绍了如何将File对象转换为MultipartFile对象的过程,并分享了个人经验,希望能为读者提供参考... 目China编程录Java获取图片的大小、宽度、高度File对象(该对象里面是图片)MultipartFile对象(该对象里面是图片)总结java获取图片

C#比较两个List集合内容是否相同的几种方法

《C#比较两个List集合内容是否相同的几种方法》本文详细介绍了在C#中比较两个List集合内容是否相同的方法,包括非自定义类和自定义类的元素比较,对于非自定义类,可以使用SequenceEqual、... 目录 一、非自定义类的元素比较1. 使用 SequenceEqual 方法(顺序和内容都相等)2.

C#从XmlDocument提取完整字符串的方法

《C#从XmlDocument提取完整字符串的方法》文章介绍了两种生成格式化XML字符串的方法,方法一使用`XmlDocument`的`OuterXml`属性,但输出的XML字符串不带格式,可读性差,... 方法1:通过XMLDocument的OuterXml属性,见XmlDocument类该方法获得的xm

对postgresql日期和时间的比较

《对postgresql日期和时间的比较》文章介绍了在数据库中处理日期和时间类型时的一些注意事项,包括如何将字符串转换为日期或时间类型,以及在比较时自动转换的情况,作者建议在使用数据库时,根据具体情况... 目录PostgreSQL日期和时间比较DB里保存到时分秒,需要和年月日比较db里存储date或者ti

JSON字符串转成java的Map对象详细步骤

《JSON字符串转成java的Map对象详细步骤》:本文主要介绍如何将JSON字符串转换为Java对象的步骤,包括定义Element类、使用Jackson库解析JSON和添加依赖,文中通过代码介绍... 目录步骤 1: 定义 Element 类步骤 2: 使用 Jackson 库解析 jsON步骤 3: 添

Java 字符数组转字符串的常用方法

《Java字符数组转字符串的常用方法》文章总结了在Java中将字符数组转换为字符串的几种常用方法,包括使用String构造函数、String.valueOf()方法、StringBuilder以及A... 目录1. 使用String构造函数1.1 基本转换方法1.2 注意事项2. 使用String.valu

IDEA如何将String类型转json格式

《IDEA如何将String类型转json格式》在Java中,字符串字面量中的转义字符会被自动转换,但通过网络获取的字符串可能不会自动转换,为了解决IDEA无法识别JSON字符串的问题,可以在本地对字... 目录问题描述问题原因解决方案总结问题描述最近做项目需要使用Ai生成json,可生成String类型

C#中图片如何自适应pictureBox大小

《C#中图片如何自适应pictureBox大小》文章描述了如何在C#中实现图片自适应pictureBox大小,并展示修改前后的效果,修改步骤包括两步,作者分享了个人经验,希望对大家有所帮助... 目录C#图片自适应pictureBox大小编程修改步骤总结C#图片自适应pictureBox大小上图中“z轴

python修改字符串值的三种方法

《python修改字符串值的三种方法》本文主要介绍了python修改字符串值的三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录第一种方法:第二种方法:第三种方法:在python中,字符串对象是不可变类型,所以我们没办法直接

JAVA中整型数组、字符串数组、整型数和字符串 的创建与转换的方法

《JAVA中整型数组、字符串数组、整型数和字符串的创建与转换的方法》本文介绍了Java中字符串、字符数组和整型数组的创建方法,以及它们之间的转换方法,还详细讲解了字符串中的一些常用方法,如index... 目录一、字符串、字符数组和整型数组的创建1、字符串的创建方法1.1 通过引用字符数组来创建字符串1.2