字符串比较大小的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

相关文章

Python字符串处理方法超全攻略

《Python字符串处理方法超全攻略》字符串可以看作多个字符的按照先后顺序组合,相当于就是序列结构,意味着可以对它进行遍历、切片,:本文主要介绍Python字符串处理方法的相关资料,文中通过代码介... 目录一、基础知识:字符串的“不可变”特性与创建方式二、常用操作:80%场景的“万能工具箱”三、格式化方法

浅析python如何去掉字符串中最后一个字符

《浅析python如何去掉字符串中最后一个字符》在Python中,字符串是不可变对象,因此无法直接修改原字符串,但可以通过生成新字符串的方式去掉最后一个字符,本文整理了三种高效方法,希望对大家有所帮助... 目录方法1:切片操作(最推荐)方法2:长度计算索引方法3:拼接剩余字符(不推荐,仅作演示)关键注意事

Java实现字符串大小写转换的常用方法

《Java实现字符串大小写转换的常用方法》在Java中,字符串大小写转换是文本处理的核心操作之一,Java提供了多种灵活的方式来实现大小写转换,适用于不同场景和需求,本文将全面解析大小写转换的各种方法... 目录前言核心转换方法1.String类的基础方法2. 考虑区域设置的转换3. 字符级别的转换高级转换

MySQL字符串转数值的方法全解析

《MySQL字符串转数值的方法全解析》在MySQL开发中,字符串与数值的转换是高频操作,本文从隐式转换原理、显式转换方法、典型场景案例、风险防控四个维度系统梳理,助您精准掌握这一核心技能,需要的朋友可... 目录一、隐式转换:自动但需警惕的&ld编程quo;双刃剑”二、显式转换:三大核心方法详解三、典型场景

Python中4大日志记录库比较的终极PK

《Python中4大日志记录库比较的终极PK》日志记录框架是一种工具,可帮助您标准化应用程序中的日志记录过程,:本文主要介绍Python中4大日志记录库比较的相关资料,文中通过代码介绍的非常详细,... 目录一、logging库1、优点2、缺点二、LogAid库三、Loguru库四、Structlogphp

Java中的随机数生成案例从范围字符串到动态区间应用

《Java中的随机数生成案例从范围字符串到动态区间应用》本文介绍了在Java中生成随机数的多种方法,并通过两个案例解析如何根据业务需求生成特定范围的随机数,本文通过两个实际案例详细介绍如何在java中... 目录Java中的随机数生成:从范围字符串到动态区间应用引言目录1. Java中的随机数生成基础基本随

Python实现字典转字符串的五种方法

《Python实现字典转字符串的五种方法》本文介绍了在Python中如何将字典数据结构转换为字符串格式的多种方法,首先可以通过内置的str()函数进行简单转换;其次利用ison.dumps()函数能够... 目录1、使用json模块的dumps方法:2、使用str方法:3、使用循环和字符串拼接:4、使用字符

Python 常用数据类型详解之字符串、列表、字典操作方法

《Python常用数据类型详解之字符串、列表、字典操作方法》在Python中,字符串、列表和字典是最常用的数据类型,它们在数据处理、程序设计和算法实现中扮演着重要角色,接下来通过本文给大家介绍这三种... 目录一、字符串(String)(一)创建字符串(二)字符串操作1. 字符串连接2. 字符串重复3. 字

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别

Java 字符串操作之contains 和 substring 方法最佳实践与常见问题

《Java字符串操作之contains和substring方法最佳实践与常见问题》本文给大家详细介绍Java字符串操作之contains和substring方法最佳实践与常见问题,本文结合实例... 目录一、contains 方法详解1. 方法定义与语法2. 底层实现原理3. 使用示例4. 注意事项二、su