字符串比较大小的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使用正则提取字符串中的内容的详细步骤》:本文主要介绍Java中使用正则表达式提取字符串内容的方法,通过Pattern和Matcher类实现,涵盖编译正则、查找匹配、分组捕获、数字与邮箱提... 目录1. 基础流程2. 关键方法说明3. 常见场景示例场景1:提取所有数字场景2:提取邮箱地址4. 高级

C++ STL-string类底层实现过程

《C++STL-string类底层实现过程》本文实现了一个简易的string类,涵盖动态数组存储、深拷贝机制、迭代器支持、容量调整、字符串修改、运算符重载等功能,模拟标准string核心特性,重点强... 目录实现框架一、默认成员函数1.默认构造函数2.构造函数3.拷贝构造函数(重点)4.赋值运算符重载函数

SQL Server 查询数据库及数据文件大小的方法

《SQLServer查询数据库及数据文件大小的方法》文章介绍了查询数据库大小的SQL方法及存储过程实现,涵盖当前数据库、所有数据库的总大小及文件明细,本文结合实例代码给大家介绍的非常详细,感兴趣的... 目录1. 直接使用SQL1.1 查询当前数据库大小1.2 查询所有数据库的大小1.3 查询每个数据库的详

Python如何实现高效的文件/目录比较

《Python如何实现高效的文件/目录比较》在系统维护、数据同步或版本控制场景中,我们经常需要比较两个目录的差异,本文将分享一下如何用Python实现高效的文件/目录比较,并灵活处理排除规则,希望对大... 目录案例一:基础目录比较与排除实现案例二:高性能大文件比较案例三:跨平台路径处理案例四:可视化差异报

redis数据结构之String详解

《redis数据结构之String详解》Redis以String为基础类型,因C字符串效率低、非二进制安全等问题,采用SDS动态字符串实现高效存储,通过RedisObject封装,支持多种编码方式(如... 目录一、为什么Redis选String作为基础类型?二、SDS底层数据结构三、RedisObject

Python 字符串裁切与提取全面且实用的解决方案

《Python字符串裁切与提取全面且实用的解决方案》本文梳理了Python字符串处理方法,涵盖基础切片、split/partition分割、正则匹配及结构化数据解析(如BeautifulSoup、j... 目录python 字符串裁切与提取的完整指南 基础切片方法1. 使用切片操作符[start:end]2

MyBatis的xml中字符串类型判空与非字符串类型判空处理方式(最新整理)

《MyBatis的xml中字符串类型判空与非字符串类型判空处理方式(最新整理)》本文给大家介绍MyBatis的xml中字符串类型判空与非字符串类型判空处理方式,本文给大家介绍的非常详细,对大家的学习或... 目录完整 Hutool 写法版本对比优化为什么status变成Long?为什么 price 没事?怎

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1

C# $字符串插值的使用

《C#$字符串插值的使用》本文介绍了C#中的字符串插值功能,详细介绍了使用$符号的实现方式,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录$ 字符使用方式创建内插字符串包含不同的数据类型控制内插表达式的格式控制内插表达式的对齐方式内插表达式中使用转义序列内插表达式中使用

Java获取当前时间String类型和Date类型方式

《Java获取当前时间String类型和Date类型方式》:本文主要介绍Java获取当前时间String类型和Date类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录Java获取当前时间String和Date类型String类型和Date类型输出结果总结Java获取