1 int类型和 unsigned int 类型
①int表示32位整数,最高位为符号位,正数为0,负数为1。 最大正整数INT_MAX = 2147483647 = 2^31-1,是除最高位为0外,其余位均为1的二进制数:0111…1111。 最大负整数INT_MIN = -2147483648 = 2^31。
②unsigned int的最高位可以使用,其最大值是1111…1111,相当于在第32位增加了个1,大小为2^ 31,其值为2^31+INT_MAX = 2 ^32 -1; UNSIGNED_MAX = 4294967295 UNSIGNED_MIN = 0
③int a = 1。 a最多左移30位,for(int i = 0; i < 30; i++){a <<= 1;} ,移动后a为0100…000,其值为2^30。 a左移31次,a= -2147483648 a左移32次,a=0
④unsigned int b = 1。 b最多左移31位,b = 2^31。 b左移32位,b = 0。
2 字符串-string类型的比较
string内部有 > 、< 、 >= 、 <= 等比较方式,比较方式依据ASCII码,比较字符串首位的ASCII码大小!,如果首位相同则比较次位 常见ASCII码的大小规则:0-9 < A-Z < a-z。 NULL为0,“A”为65,“a”为97,“0”为 48。
例如:
s1 = "9999", s2 = "a" s1 < s2;
s1 = "123", s2 = "5", s1 < s2;
s1 = "ZARD", s2 = "c", s1 < s2;
s1 = "9a", s2 = "999", s1 > s2;
3 to_string()函数
前置条件:#include< string> 功能:将数字常量转换为字符串 函数原型: string to_string (int val); string to_string (long val); string to_string (long long val); string to_string (unsigned val); string to_string (unsigned long val); string to_string (unsigned long long val); string to_string (float val); string to_string (double val); string to_string (long double val);
|