[{"data":1,"prerenderedAt":3166},["ShallowReactive",2],{"wiki-page-/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch2-shu-ju-lei-xing-yu-shu-ju-cun-fang":3,"wiki-doc-items-/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch2-shu-ju-lei-xing-yu-shu-ju-cun-fang":2754,"language-switcher-data-/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch2-shu-ju-lei-xing-yu-shu-ju-cun-fang":3150,"wiki-i18n-paths-/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch2-shu-ju-lei-xing-yu-shu-ju-cun-fang":3165},{"id":4,"title":5,"body":6,"canonicalPath":2737,"chapter":560,"chapterSort":2738,"date":2739,"description":129,"docI18nKey":2740,"docKey":2741,"docRoot":2742,"docTitle":2743,"extension":2744,"i18nKey":2745,"isBlogPost":2746,"isWikiDoc":161,"isWikiIndex":2746,"layout":2747,"legacyPath":2748,"locale":2749,"localeSlug":2750,"meta":2751,"navigation":161,"path":2737,"seo":2752,"sourcePath":2748,"sourceStem":2745,"stem":2745,"wikiDepth":136,"__hash__":2753},"content/wiki/2023-10-05-Cplusplus教学/ch2-数据类型与数据存放.md","数据类型与数据存放",{"type":7,"value":8,"toc":2724},"minimark",[9,13,17,25,32,102,105,108,118,123,322,328,337,341,346,349,359,366,407,411,652,656,659,662,669,674,679,688,690,847,851,854,1711,1718,1734,1737,1740,1746,1943,1945,2044,2048,2051,2056,2061,2118,2123,2178,2183,2187,2190,2193,2201,2206,2208,2337,2341,2345,2356,2407,2412,2416,2720],[10,11,12],"h2",{"id":12},"数据类型",[14,15,16],"h3",{"id":16},"整型",[18,19,20,24],"p",{},[21,22,23],"strong",{},"作用","：整型变量表示的是==整数类型==的数据",[18,26,27,28,31],{},"C++中能够表示整型的类型有以下几种方式，",[21,29,30],{},"区别在于所占内存空间不同","：",[33,34,35,54],"table",{},[36,37,38],"thead",{},[39,40,41,46,51],"tr",{},[42,43,44],"th",{},[21,45,12],{},[42,47,48],{},[21,49,50],{},"占用空间",[42,52,53],{},"取值范围",[55,56,57,69,80,91],"tbody",{},[39,58,59,63,66],{},[60,61,62],"td",{},"short(短整型)",[60,64,65],{},"2字节",[60,67,68],{},"(-2^15 ~ 2^15-1)",[39,70,71,74,77],{},[60,72,73],{},"int(整型)",[60,75,76],{},"4字节",[60,78,79],{},"(-2^31 ~ 2^31-1)",[39,81,82,85,88],{},[60,83,84],{},"long(长整形)",[60,86,87],{},"Linux 64位通常为8字节，32位环境通常为4字节",[60,89,90],{},"由平台位数决定",[39,92,93,96,99],{},[60,94,95],{},"long long(长长整形)",[60,97,98],{},"8字节",[60,100,101],{},"(-2^63 ~ 2^63-1)",[14,103,104],{"id":104},"sizeof关键字",[18,106,107],{},"**作用：**利用sizeof关键字可以==统计数据类型所占内存大小==",[18,109,110,113,114],{},[21,111,112],{},"语法："," ",[115,116,117],"code",{},"sizeof( 数据类型 / 变量)",[18,119,120],{},[21,121,122],{},"示例：",[124,125,130],"pre",{"className":126,"code":127,"language":128,"meta":129,"style":129},"language-cpp shiki shiki-themes github-light github-dark","int main() {\n    // 程序从 main 函数开始执行，下面的语句会按顺序运行。\n\n    cout \u003C\u003C \"short 类型所占内存空间为： \" \u003C\u003C sizeof(short) \u003C\u003C endl;\n\n    cout \u003C\u003C \"int 类型所占内存空间为： \" \u003C\u003C sizeof(int) \u003C\u003C endl;\n\n    cout \u003C\u003C \"long 类型所占内存空间为： \" \u003C\u003C sizeof(long) \u003C\u003C endl;\n\n    cout \u003C\u003C \"long long 类型所占内存空间为： \" \u003C\u003C sizeof(long long) \u003C\u003C endl;\n\n\n    // 返回 0 表示程序正常结束。\n    return 0;\n}\n","cpp","",[115,131,132,149,156,163,196,201,225,230,255,260,287,292,297,303,316],{"__ignoreMap":129},[133,134,137,141,145],"span",{"class":135,"line":136},"line",1,[133,138,140],{"class":139},"szBVR","int",[133,142,144],{"class":143},"sScJk"," main",[133,146,148],{"class":147},"sVt8B","() {\n",[133,150,152],{"class":135,"line":151},2,[133,153,155],{"class":154},"sJ8bj","    // 程序从 main 函数开始执行，下面的语句会按顺序运行。\n",[133,157,159],{"class":135,"line":158},3,[133,160,162],{"emptyLinePlaceholder":161},true,"\n",[133,164,166,169,172,176,179,182,185,188,191,193],{"class":135,"line":165},4,[133,167,168],{"class":147},"    cout ",[133,170,171],{"class":139},"\u003C\u003C",[133,173,175],{"class":174},"sZZnC"," \"short 类型所占内存空间为： \"",[133,177,178],{"class":139}," \u003C\u003C",[133,180,181],{"class":139}," sizeof",[133,183,184],{"class":147},"(",[133,186,187],{"class":139},"short",[133,189,190],{"class":147},") ",[133,192,171],{"class":139},[133,194,195],{"class":147}," endl;\n",[133,197,199],{"class":135,"line":198},5,[133,200,162],{"emptyLinePlaceholder":161},[133,202,204,206,208,211,213,215,217,219,221,223],{"class":135,"line":203},6,[133,205,168],{"class":147},[133,207,171],{"class":139},[133,209,210],{"class":174}," \"int 类型所占内存空间为： \"",[133,212,178],{"class":139},[133,214,181],{"class":139},[133,216,184],{"class":147},[133,218,140],{"class":139},[133,220,190],{"class":147},[133,222,171],{"class":139},[133,224,195],{"class":147},[133,226,228],{"class":135,"line":227},7,[133,229,162],{"emptyLinePlaceholder":161},[133,231,233,235,237,240,242,244,246,249,251,253],{"class":135,"line":232},8,[133,234,168],{"class":147},[133,236,171],{"class":139},[133,238,239],{"class":174}," \"long 类型所占内存空间为： \"",[133,241,178],{"class":139},[133,243,181],{"class":139},[133,245,184],{"class":147},[133,247,248],{"class":139},"long",[133,250,190],{"class":147},[133,252,171],{"class":139},[133,254,195],{"class":147},[133,256,258],{"class":135,"line":257},9,[133,259,162],{"emptyLinePlaceholder":161},[133,261,263,265,267,270,272,274,276,278,281,283,285],{"class":135,"line":262},10,[133,264,168],{"class":147},[133,266,171],{"class":139},[133,268,269],{"class":174}," \"long long 类型所占内存空间为： \"",[133,271,178],{"class":139},[133,273,181],{"class":139},[133,275,184],{"class":147},[133,277,248],{"class":139},[133,279,280],{"class":139}," long",[133,282,190],{"class":147},[133,284,171],{"class":139},[133,286,195],{"class":147},[133,288,290],{"class":135,"line":289},11,[133,291,162],{"emptyLinePlaceholder":161},[133,293,295],{"class":135,"line":294},12,[133,296,162],{"emptyLinePlaceholder":161},[133,298,300],{"class":135,"line":299},13,[133,301,302],{"class":154},"    // 返回 0 表示程序正常结束。\n",[133,304,306,309,313],{"class":135,"line":305},14,[133,307,308],{"class":139},"    return",[133,310,312],{"class":311},"sj4cs"," 0",[133,314,315],{"class":147},";\n",[133,317,319],{"class":135,"line":318},15,[133,320,321],{"class":147},"}\n",[18,323,324,327],{},[21,325,326],{},"运行/观察结果："," 运行后会按输出语句打印对应内容，变量值可结合初始化、赋值和函数调用顺序推导。",[329,330,331],"blockquote",{},[18,332,333,336],{},[21,334,335],{},"整型结论","：==short \u003C int \u003C= long \u003C= long long==",[14,338,340],{"id":339},"实型浮点型","实型（浮点型）",[18,342,343,345],{},[21,344,23],{},"：用于==表示小数==",[18,347,348],{},"浮点型变量分为两种：",[350,351,352,356],"ol",{},[353,354,355],"li",{},"单精度float",[353,357,358],{},"双精度double",[18,360,361,362,365],{},"两者的",[21,363,364],{},"区别","在于表示的有效数字范围不同。",[33,367,368,385],{},[36,369,370],{},[39,371,372,376,380],{},[42,373,374],{},[21,375,12],{},[42,377,378],{},[21,379,50],{},[42,381,382],{},[21,383,384],{},"有效数字范围",[55,386,387,397],{},[39,388,389,392,394],{},[60,390,391],{},"float",[60,393,76],{},[60,395,396],{},"7位有效数字",[39,398,399,402,404],{},[60,400,401],{},"double",[60,403,98],{},[60,405,406],{},"15～16位有效数字",[18,408,409],{},[21,410,122],{},[124,412,414],{"className":126,"code":413,"language":128,"meta":129,"style":129},"int main() {\n\n    float f1 = 3.14f;\n    double d1 = 3.14;\n\n    cout \u003C\u003C f1 \u003C\u003C endl;\n    cout \u003C\u003C d1\u003C\u003C endl;\n\n    cout \u003C\u003C \"float  sizeof = \" \u003C\u003C sizeof(f1) \u003C\u003C endl;\n    cout \u003C\u003C \"double sizeof = \" \u003C\u003C sizeof(d1) \u003C\u003C endl;\n\n    //科学计数法\n    float f2 = 3e2; // 3 * 10 ^ 2 \n    cout \u003C\u003C \"f2 = \" \u003C\u003C f2 \u003C\u003C endl;\n\n    float f3 = 3e-2;  // 3 * 0.1 ^ 2\n    cout \u003C\u003C \"f3 = \" \u003C\u003C f3 \u003C\u003C endl;\n\n\n    return 0;\n}\n",[115,415,416,424,428,447,461,465,477,490,494,514,534,538,543,567,584,588,610,628,633,638,647],{"__ignoreMap":129},[133,417,418,420,422],{"class":135,"line":136},[133,419,140],{"class":139},[133,421,144],{"class":143},[133,423,148],{"class":147},[133,425,426],{"class":135,"line":151},[133,427,162],{"emptyLinePlaceholder":161},[133,429,430,433,436,439,442,445],{"class":135,"line":158},[133,431,432],{"class":139},"    float",[133,434,435],{"class":147}," f1 ",[133,437,438],{"class":139},"=",[133,440,441],{"class":311}," 3.14",[133,443,444],{"class":139},"f",[133,446,315],{"class":147},[133,448,449,452,455,457,459],{"class":135,"line":165},[133,450,451],{"class":139},"    double",[133,453,454],{"class":147}," d1 ",[133,456,438],{"class":139},[133,458,441],{"class":311},[133,460,315],{"class":147},[133,462,463],{"class":135,"line":198},[133,464,162],{"emptyLinePlaceholder":161},[133,466,467,469,471,473,475],{"class":135,"line":203},[133,468,168],{"class":147},[133,470,171],{"class":139},[133,472,435],{"class":147},[133,474,171],{"class":139},[133,476,195],{"class":147},[133,478,479,481,483,486,488],{"class":135,"line":227},[133,480,168],{"class":147},[133,482,171],{"class":139},[133,484,485],{"class":147}," d1",[133,487,171],{"class":139},[133,489,195],{"class":147},[133,491,492],{"class":135,"line":232},[133,493,162],{"emptyLinePlaceholder":161},[133,495,496,498,500,503,505,507,510,512],{"class":135,"line":257},[133,497,168],{"class":147},[133,499,171],{"class":139},[133,501,502],{"class":174}," \"float  sizeof = \"",[133,504,178],{"class":139},[133,506,181],{"class":139},[133,508,509],{"class":147},"(f1) ",[133,511,171],{"class":139},[133,513,195],{"class":147},[133,515,516,518,520,523,525,527,530,532],{"class":135,"line":262},[133,517,168],{"class":147},[133,519,171],{"class":139},[133,521,522],{"class":174}," \"double sizeof = \"",[133,524,178],{"class":139},[133,526,181],{"class":139},[133,528,529],{"class":147},"(d1) ",[133,531,171],{"class":139},[133,533,195],{"class":147},[133,535,536],{"class":135,"line":289},[133,537,162],{"emptyLinePlaceholder":161},[133,539,540],{"class":135,"line":294},[133,541,542],{"class":154},"    //科学计数法\n",[133,544,545,547,550,552,555,558,561,564],{"class":135,"line":299},[133,546,432],{"class":139},[133,548,549],{"class":147}," f2 ",[133,551,438],{"class":139},[133,553,554],{"class":311}," 3",[133,556,557],{"class":139},"e",[133,559,560],{"class":311},"2",[133,562,563],{"class":147},";",[133,565,566],{"class":154}," // 3 * 10 ^ 2 \n",[133,568,569,571,573,576,578,580,582],{"class":135,"line":305},[133,570,168],{"class":147},[133,572,171],{"class":139},[133,574,575],{"class":174}," \"f2 = \"",[133,577,178],{"class":139},[133,579,549],{"class":147},[133,581,171],{"class":139},[133,583,195],{"class":147},[133,585,586],{"class":135,"line":318},[133,587,162],{"emptyLinePlaceholder":161},[133,589,591,593,596,598,600,603,605,607],{"class":135,"line":590},16,[133,592,432],{"class":139},[133,594,595],{"class":147}," f3 ",[133,597,438],{"class":139},[133,599,554],{"class":311},[133,601,602],{"class":139},"e-",[133,604,560],{"class":311},[133,606,563],{"class":147},[133,608,609],{"class":154},"  // 3 * 0.1 ^ 2\n",[133,611,613,615,617,620,622,624,626],{"class":135,"line":612},17,[133,614,168],{"class":147},[133,616,171],{"class":139},[133,618,619],{"class":174}," \"f3 = \"",[133,621,178],{"class":139},[133,623,595],{"class":147},[133,625,171],{"class":139},[133,627,195],{"class":147},[133,629,631],{"class":135,"line":630},18,[133,632,162],{"emptyLinePlaceholder":161},[133,634,636],{"class":135,"line":635},19,[133,637,162],{"emptyLinePlaceholder":161},[133,639,641,643,645],{"class":135,"line":640},20,[133,642,308],{"class":139},[133,644,312],{"class":311},[133,646,315],{"class":147},[133,648,650],{"class":135,"line":649},21,[133,651,321],{"class":147},[18,653,654,327],{},[21,655,326],{},[14,657,658],{"id":658},"字符型",[18,660,661],{},"**作用：**字符型变量用于显示单个字符",[18,663,664,666],{},[21,665,112],{},[115,667,668],{},"char ch = 'a';",[329,670,671],{},[18,672,673],{},"注意1：在显示字符型变量时，用单引号将字符括起来，不要用双引号",[329,675,676],{},[18,677,678],{},"注意2：单引号内只能有一个字符，不可以是字符串",[680,681,682,685],"ul",{},[353,683,684],{},"C和C++中字符型变量只占用==1个字节==。",[353,686,687],{},"字符型变量并不是把字符本身放到内存中存储，而是将对应的ASCII编码放入到存储单元",[18,689,122],{},[124,691,693],{"className":126,"code":692,"language":128,"meta":129,"style":129},"int main() {\n    \n    char ch = 'a';\n    cout \u003C\u003C ch \u003C\u003C endl;\n    cout \u003C\u003C sizeof(char) \u003C\u003C endl;\n\n    //ch = \"abcde\"; //错误，不可以用双引号\n    //ch = 'abcde'; //错误，单引号内只能引用一个字符\n\n    cout \u003C\u003C (int)ch \u003C\u003C endl;  //查看字符a对应的ASCII码\n    ch = 97; //可以直接用ASCII给字符型变量赋值\n    cout \u003C\u003C ch \u003C\u003C endl;\n\n\n    return 0;\n}\n",[115,694,695,703,708,723,735,754,758,766,774,778,800,815,827,831,835,843],{"__ignoreMap":129},[133,696,697,699,701],{"class":135,"line":136},[133,698,140],{"class":139},[133,700,144],{"class":143},[133,702,148],{"class":147},[133,704,705],{"class":135,"line":151},[133,706,707],{"class":147},"    \n",[133,709,710,713,716,718,721],{"class":135,"line":158},[133,711,712],{"class":139},"    char",[133,714,715],{"class":147}," ch ",[133,717,438],{"class":139},[133,719,720],{"class":174}," 'a'",[133,722,315],{"class":147},[133,724,725,727,729,731,733],{"class":135,"line":165},[133,726,168],{"class":147},[133,728,171],{"class":139},[133,730,715],{"class":147},[133,732,171],{"class":139},[133,734,195],{"class":147},[133,736,737,739,741,743,745,748,750,752],{"class":135,"line":198},[133,738,168],{"class":147},[133,740,171],{"class":139},[133,742,181],{"class":139},[133,744,184],{"class":147},[133,746,747],{"class":139},"char",[133,749,190],{"class":147},[133,751,171],{"class":139},[133,753,195],{"class":147},[133,755,756],{"class":135,"line":203},[133,757,162],{"emptyLinePlaceholder":161},[133,759,760,763],{"class":135,"line":227},[133,761,762],{"class":154},"    //ch = \"abcde\";",[133,764,765],{"class":154}," //错误，不可以用双引号\n",[133,767,768,771],{"class":135,"line":232},[133,769,770],{"class":154},"    //ch = 'abcde';",[133,772,773],{"class":154}," //错误，单引号内只能引用一个字符\n",[133,775,776],{"class":135,"line":257},[133,777,162],{"emptyLinePlaceholder":161},[133,779,780,782,784,787,789,792,794,797],{"class":135,"line":262},[133,781,168],{"class":147},[133,783,171],{"class":139},[133,785,786],{"class":147}," (",[133,788,140],{"class":139},[133,790,791],{"class":147},")ch ",[133,793,171],{"class":139},[133,795,796],{"class":147}," endl;",[133,798,799],{"class":154},"  //查看字符a对应的ASCII码\n",[133,801,802,805,807,810,812],{"class":135,"line":289},[133,803,804],{"class":147},"    ch ",[133,806,438],{"class":139},[133,808,809],{"class":311}," 97",[133,811,563],{"class":147},[133,813,814],{"class":154}," //可以直接用ASCII给字符型变量赋值\n",[133,816,817,819,821,823,825],{"class":135,"line":294},[133,818,168],{"class":147},[133,820,171],{"class":139},[133,822,715],{"class":147},[133,824,171],{"class":139},[133,826,195],{"class":147},[133,828,829],{"class":135,"line":299},[133,830,162],{"emptyLinePlaceholder":161},[133,832,833],{"class":135,"line":305},[133,834,162],{"emptyLinePlaceholder":161},[133,836,837,839,841],{"class":135,"line":318},[133,838,308],{"class":139},[133,840,312],{"class":311},[133,842,315],{"class":147},[133,844,845],{"class":135,"line":590},[133,846,321],{"class":147},[18,848,849,327],{},[21,850,326],{},[18,852,853],{},"ASCII码表格：",[33,855,856,896],{},[36,857,858],{},[39,859,860,866,871,875,880,884,888,892],{},[42,861,862,865],{},[21,863,864],{},"ASCII","值",[42,867,868],{},[21,869,870],{},"控制字符",[42,872,873,865],{},[21,874,864],{},[42,876,877],{},[21,878,879],{},"字符",[42,881,882,865],{},[21,883,864],{},[42,885,886],{},[21,887,879],{},[42,889,890,865],{},[21,891,864],{},[42,893,894],{},[21,895,879],{},[55,897,898,924,950,975,1001,1027,1052,1077,1103,1128,1154,1180,1206,1231,1257,1283,1309,1333,1358,1383,1408,1433,1458,1483,1508,1533,1558,1584,1609,1634,1659,1685],{},[39,899,900,903,906,909,912,915,918,921],{},[60,901,902],{},"0",[60,904,905],{},"NUT",[60,907,908],{},"32",[60,910,911],{},"(space)",[60,913,914],{},"64",[60,916,917],{},"@",[60,919,920],{},"96",[60,922,923],{},"、",[39,925,926,929,932,935,938,941,944,947],{},[60,927,928],{},"1",[60,930,931],{},"SOH",[60,933,934],{},"33",[60,936,937],{},"!",[60,939,940],{},"65",[60,942,943],{},"A",[60,945,946],{},"97",[60,948,949],{},"a",[39,951,952,954,957,960,963,966,969,972],{},[60,953,560],{},[60,955,956],{},"STX",[60,958,959],{},"34",[60,961,962],{},"\"",[60,964,965],{},"66",[60,967,968],{},"B",[60,970,971],{},"98",[60,973,974],{},"b",[39,976,977,980,983,986,989,992,995,998],{},[60,978,979],{},"3",[60,981,982],{},"ETX",[60,984,985],{},"35",[60,987,988],{},"#",[60,990,991],{},"67",[60,993,994],{},"C",[60,996,997],{},"99",[60,999,1000],{},"c",[39,1002,1003,1006,1009,1012,1015,1018,1021,1024],{},[60,1004,1005],{},"4",[60,1007,1008],{},"EOT",[60,1010,1011],{},"36",[60,1013,1014],{},"$",[60,1016,1017],{},"68",[60,1019,1020],{},"D",[60,1022,1023],{},"100",[60,1025,1026],{},"d",[39,1028,1029,1032,1035,1038,1041,1044,1047,1050],{},[60,1030,1031],{},"5",[60,1033,1034],{},"ENQ",[60,1036,1037],{},"37",[60,1039,1040],{},"%",[60,1042,1043],{},"69",[60,1045,1046],{},"E",[60,1048,1049],{},"101",[60,1051,557],{},[39,1053,1054,1057,1060,1063,1066,1069,1072,1075],{},[60,1055,1056],{},"6",[60,1058,1059],{},"ACK",[60,1061,1062],{},"38",[60,1064,1065],{},"&",[60,1067,1068],{},"70",[60,1070,1071],{},"F",[60,1073,1074],{},"102",[60,1076,444],{},[39,1078,1079,1082,1085,1088,1091,1094,1097,1100],{},[60,1080,1081],{},"7",[60,1083,1084],{},"BEL",[60,1086,1087],{},"39",[60,1089,1090],{},",",[60,1092,1093],{},"71",[60,1095,1096],{},"G",[60,1098,1099],{},"103",[60,1101,1102],{},"g",[39,1104,1105,1108,1111,1114,1116,1119,1122,1125],{},[60,1106,1107],{},"8",[60,1109,1110],{},"BS",[60,1112,1113],{},"40",[60,1115,184],{},[60,1117,1118],{},"72",[60,1120,1121],{},"H",[60,1123,1124],{},"104",[60,1126,1127],{},"h",[39,1129,1130,1133,1136,1139,1142,1145,1148,1151],{},[60,1131,1132],{},"9",[60,1134,1135],{},"HT",[60,1137,1138],{},"41",[60,1140,1141],{},")",[60,1143,1144],{},"73",[60,1146,1147],{},"I",[60,1149,1150],{},"105",[60,1152,1153],{},"i",[39,1155,1156,1159,1162,1165,1168,1171,1174,1177],{},[60,1157,1158],{},"10",[60,1160,1161],{},"LF",[60,1163,1164],{},"42",[60,1166,1167],{},"*",[60,1169,1170],{},"74",[60,1172,1173],{},"J",[60,1175,1176],{},"106",[60,1178,1179],{},"j",[39,1181,1182,1185,1188,1191,1194,1197,1200,1203],{},[60,1183,1184],{},"11",[60,1186,1187],{},"VT",[60,1189,1190],{},"43",[60,1192,1193],{},"+",[60,1195,1196],{},"75",[60,1198,1199],{},"K",[60,1201,1202],{},"107",[60,1204,1205],{},"k",[39,1207,1208,1211,1214,1217,1219,1222,1225,1228],{},[60,1209,1210],{},"12",[60,1212,1213],{},"FF",[60,1215,1216],{},"44",[60,1218,1090],{},[60,1220,1221],{},"76",[60,1223,1224],{},"L",[60,1226,1227],{},"108",[60,1229,1230],{},"l",[39,1232,1233,1236,1239,1242,1245,1248,1251,1254],{},[60,1234,1235],{},"13",[60,1237,1238],{},"CR",[60,1240,1241],{},"45",[60,1243,1244],{},"-",[60,1246,1247],{},"77",[60,1249,1250],{},"M",[60,1252,1253],{},"109",[60,1255,1256],{},"m",[39,1258,1259,1262,1265,1268,1271,1274,1277,1280],{},[60,1260,1261],{},"14",[60,1263,1264],{},"SO",[60,1266,1267],{},"46",[60,1269,1270],{},".",[60,1272,1273],{},"78",[60,1275,1276],{},"N",[60,1278,1279],{},"110",[60,1281,1282],{},"n",[39,1284,1285,1288,1291,1294,1297,1300,1303,1306],{},[60,1286,1287],{},"15",[60,1289,1290],{},"SI",[60,1292,1293],{},"47",[60,1295,1296],{},"/",[60,1298,1299],{},"79",[60,1301,1302],{},"O",[60,1304,1305],{},"111",[60,1307,1308],{},"o",[39,1310,1311,1314,1317,1320,1322,1325,1328,1331],{},[60,1312,1313],{},"16",[60,1315,1316],{},"DLE",[60,1318,1319],{},"48",[60,1321,902],{},[60,1323,1324],{},"80",[60,1326,1327],{},"P",[60,1329,1330],{},"112",[60,1332,18],{},[39,1334,1335,1338,1341,1344,1346,1349,1352,1355],{},[60,1336,1337],{},"17",[60,1339,1340],{},"DCI",[60,1342,1343],{},"49",[60,1345,928],{},[60,1347,1348],{},"81",[60,1350,1351],{},"Q",[60,1353,1354],{},"113",[60,1356,1357],{},"q",[39,1359,1360,1363,1366,1369,1371,1374,1377,1380],{},[60,1361,1362],{},"18",[60,1364,1365],{},"DC2",[60,1367,1368],{},"50",[60,1370,560],{},[60,1372,1373],{},"82",[60,1375,1376],{},"R",[60,1378,1379],{},"114",[60,1381,1382],{},"r",[39,1384,1385,1388,1391,1394,1396,1399,1402,1405],{},[60,1386,1387],{},"19",[60,1389,1390],{},"DC3",[60,1392,1393],{},"51",[60,1395,979],{},[60,1397,1398],{},"83",[60,1400,1401],{},"S",[60,1403,1404],{},"115",[60,1406,1407],{},"s",[39,1409,1410,1413,1416,1419,1421,1424,1427,1430],{},[60,1411,1412],{},"20",[60,1414,1415],{},"DC4",[60,1417,1418],{},"52",[60,1420,1005],{},[60,1422,1423],{},"84",[60,1425,1426],{},"T",[60,1428,1429],{},"116",[60,1431,1432],{},"t",[39,1434,1435,1438,1441,1444,1446,1449,1452,1455],{},[60,1436,1437],{},"21",[60,1439,1440],{},"NAK",[60,1442,1443],{},"53",[60,1445,1031],{},[60,1447,1448],{},"85",[60,1450,1451],{},"U",[60,1453,1454],{},"117",[60,1456,1457],{},"u",[39,1459,1460,1463,1466,1469,1471,1474,1477,1480],{},[60,1461,1462],{},"22",[60,1464,1465],{},"SYN",[60,1467,1468],{},"54",[60,1470,1056],{},[60,1472,1473],{},"86",[60,1475,1476],{},"V",[60,1478,1479],{},"118",[60,1481,1482],{},"v",[39,1484,1485,1488,1491,1494,1496,1499,1502,1505],{},[60,1486,1487],{},"23",[60,1489,1490],{},"TB",[60,1492,1493],{},"55",[60,1495,1081],{},[60,1497,1498],{},"87",[60,1500,1501],{},"W",[60,1503,1504],{},"119",[60,1506,1507],{},"w",[39,1509,1510,1513,1516,1519,1521,1524,1527,1530],{},[60,1511,1512],{},"24",[60,1514,1515],{},"CAN",[60,1517,1518],{},"56",[60,1520,1107],{},[60,1522,1523],{},"88",[60,1525,1526],{},"X",[60,1528,1529],{},"120",[60,1531,1532],{},"x",[39,1534,1535,1538,1541,1544,1546,1549,1552,1555],{},[60,1536,1537],{},"25",[60,1539,1540],{},"EM",[60,1542,1543],{},"57",[60,1545,1132],{},[60,1547,1548],{},"89",[60,1550,1551],{},"Y",[60,1553,1554],{},"121",[60,1556,1557],{},"y",[39,1559,1560,1563,1566,1569,1572,1575,1578,1581],{},[60,1561,1562],{},"26",[60,1564,1565],{},"SUB",[60,1567,1568],{},"58",[60,1570,1571],{},":",[60,1573,1574],{},"90",[60,1576,1577],{},"Z",[60,1579,1580],{},"122",[60,1582,1583],{},"z",[39,1585,1586,1589,1592,1595,1597,1600,1603,1606],{},[60,1587,1588],{},"27",[60,1590,1591],{},"ESC",[60,1593,1594],{},"59",[60,1596,563],{},[60,1598,1599],{},"91",[60,1601,1602],{},"[",[60,1604,1605],{},"123",[60,1607,1608],{},"{",[39,1610,1611,1614,1617,1620,1623,1626,1628,1631],{},[60,1612,1613],{},"28",[60,1615,1616],{},"FS",[60,1618,1619],{},"60",[60,1621,1622],{},"\u003C",[60,1624,1625],{},"92",[60,1627,1296],{},[60,1629,1630],{},"124",[60,1632,1633],{},"|",[39,1635,1636,1639,1642,1645,1647,1650,1653,1656],{},[60,1637,1638],{},"29",[60,1640,1641],{},"GS",[60,1643,1644],{},"61",[60,1646,438],{},[60,1648,1649],{},"93",[60,1651,1652],{},"]",[60,1654,1655],{},"125",[60,1657,1658],{},"}",[39,1660,1661,1664,1667,1670,1673,1676,1679,1682],{},[60,1662,1663],{},"30",[60,1665,1666],{},"RS",[60,1668,1669],{},"62",[60,1671,1672],{},">",[60,1674,1675],{},"94",[60,1677,1678],{},"^",[60,1680,1681],{},"126",[60,1683,1684],{},"`",[39,1686,1687,1690,1693,1696,1699,1702,1705,1708],{},[60,1688,1689],{},"31",[60,1691,1692],{},"US",[60,1694,1695],{},"63",[60,1697,1698],{},"?",[60,1700,1701],{},"95",[60,1703,1704],{},"_",[60,1706,1707],{},"127",[60,1709,1710],{},"DEL",[18,1712,1713,1714,1717],{},"ASCII 码大致由以下",[21,1715,1716],{},"两部分组","成：",[680,1719,1720,1727],{},[353,1721,1722,1723,1726],{},"ASCII 非打印控制字符： ASCII 表上的数字 ",[21,1724,1725],{},"0-31"," 分配给了控制字符，用于控制像打印机等一些外围设备。",[353,1728,1729,1730,1733],{},"ASCII 打印字符：数字 ",[21,1731,1732],{},"32-126"," 分配给了能在键盘上找到的字符，当查看或打印文档时就会出现。",[14,1735,1736],{"id":1736},"转义字符",[18,1738,1739],{},"**作用：**用于表示一些==不能显示出来的ASCII字符==",[18,1741,1742,1743],{},"现阶段我们常用的转义字符有：",[115,1744,1745],{}," \\n  \\\\  \\t",[33,1747,1748,1766],{},[36,1749,1750],{},[39,1751,1752,1756,1761],{},[42,1753,1754],{},[21,1755,1736],{},[42,1757,1758],{},[21,1759,1760],{},"含义",[42,1762,1763,1765],{},[21,1764,864],{},"码值（十进制）",[55,1767,1768,1779,1790,1801,1818,1829,1846,1857,1874,1885,1895,1905,1916,1927],{},[39,1769,1770,1773,1776],{},[60,1771,1772],{},"\\a",[60,1774,1775],{},"警报",[60,1777,1778],{},"007",[39,1780,1781,1784,1787],{},[60,1782,1783],{},"\\b",[60,1785,1786],{},"退格(BS) ，将当前位置移到前一列",[60,1788,1789],{},"008",[39,1791,1792,1795,1798],{},[60,1793,1794],{},"\\f",[60,1796,1797],{},"换页(FF)，将当前位置移到下页开头",[60,1799,1800],{},"012",[39,1802,1803,1808,1813],{},[60,1804,1805],{},[21,1806,1807],{},"\\n",[60,1809,1810],{},[21,1811,1812],{},"换行(LF) ，将当前位置移到下一行开头",[60,1814,1815],{},[21,1816,1817],{},"010",[39,1819,1820,1823,1826],{},[60,1821,1822],{},"\\r",[60,1824,1825],{},"回车(CR) ，将当前位置移到本行开头",[60,1827,1828],{},"013",[39,1830,1831,1836,1841],{},[60,1832,1833],{},[21,1834,1835],{},"\\t",[60,1837,1838],{},[21,1839,1840],{},"水平制表(HT)  （跳到下一个TAB位置）",[60,1842,1843],{},[21,1844,1845],{},"009",[39,1847,1848,1851,1854],{},[60,1849,1850],{},"\\v",[60,1852,1853],{},"垂直制表(VT)",[60,1855,1856],{},"011",[39,1858,1859,1864,1869],{},[60,1860,1861],{},[21,1862,1863],{},"\\\\",[60,1865,1866],{},[21,1867,1868],{},"代表一个反斜线字符\"\"",[60,1870,1871],{},[21,1872,1873],{},"092",[39,1875,1876,1879,1882],{},[60,1877,1878],{},"'",[60,1880,1881],{},"代表一个单引号（撇号）字符",[60,1883,1884],{},"039",[39,1886,1887,1889,1892],{},[60,1888,962],{},[60,1890,1891],{},"代表一个双引号字符",[60,1893,1894],{},"034",[39,1896,1897,1899,1902],{},[60,1898,1698],{},[60,1900,1901],{},"代表一个问号",[60,1903,1904],{},"063",[39,1906,1907,1910,1913],{},[60,1908,1909],{},"\\0",[60,1911,1912],{},"数字0",[60,1914,1915],{},"000",[39,1917,1918,1921,1924],{},[60,1919,1920],{},"\\ddd",[60,1922,1923],{},"8进制转义字符，d范围0~7",[60,1925,1926],{},"3位8进制",[39,1928,1929,1932,1940],{},[60,1930,1931],{},"\\xhh",[60,1933,1934,1935,1939],{},"16进制转义字符，h范围0",[1936,1937,1938],"del",{},"9，a","f，A~F",[60,1941,1942],{},"3位16进制",[18,1944,122],{},[124,1946,1948],{"className":126,"code":1947,"language":128,"meta":129,"style":129},"int main() {\n    // 程序从 main 函数开始执行，下面的语句会按顺序运行。\n    \n    \n    cout \u003C\u003C \"\\\\\" \u003C\u003C endl;\n    cout \u003C\u003C \"\\tHello\" \u003C\u003C endl;\n    cout \u003C\u003C \"\\n\" \u003C\u003C endl;\n\n\n    // 返回 0 表示程序正常结束。\n    return 0;\n}\n",[115,1949,1950,1958,1962,1966,1970,1987,2004,2020,2024,2028,2032,2040],{"__ignoreMap":129},[133,1951,1952,1954,1956],{"class":135,"line":136},[133,1953,140],{"class":139},[133,1955,144],{"class":143},[133,1957,148],{"class":147},[133,1959,1960],{"class":135,"line":151},[133,1961,155],{"class":154},[133,1963,1964],{"class":135,"line":158},[133,1965,707],{"class":147},[133,1967,1968],{"class":135,"line":165},[133,1969,707],{"class":147},[133,1971,1972,1974,1976,1979,1981,1983,1985],{"class":135,"line":198},[133,1973,168],{"class":147},[133,1975,171],{"class":139},[133,1977,1978],{"class":174}," \"",[133,1980,1863],{"class":311},[133,1982,962],{"class":174},[133,1984,178],{"class":139},[133,1986,195],{"class":147},[133,1988,1989,1991,1993,1995,1997,2000,2002],{"class":135,"line":203},[133,1990,168],{"class":147},[133,1992,171],{"class":139},[133,1994,1978],{"class":174},[133,1996,1835],{"class":311},[133,1998,1999],{"class":174},"Hello\"",[133,2001,178],{"class":139},[133,2003,195],{"class":147},[133,2005,2006,2008,2010,2012,2014,2016,2018],{"class":135,"line":227},[133,2007,168],{"class":147},[133,2009,171],{"class":139},[133,2011,1978],{"class":174},[133,2013,1807],{"class":311},[133,2015,962],{"class":174},[133,2017,178],{"class":139},[133,2019,195],{"class":147},[133,2021,2022],{"class":135,"line":232},[133,2023,162],{"emptyLinePlaceholder":161},[133,2025,2026],{"class":135,"line":257},[133,2027,162],{"emptyLinePlaceholder":161},[133,2029,2030],{"class":135,"line":262},[133,2031,302],{"class":154},[133,2033,2034,2036,2038],{"class":135,"line":289},[133,2035,308],{"class":139},[133,2037,312],{"class":311},[133,2039,315],{"class":147},[133,2041,2042],{"class":135,"line":294},[133,2043,321],{"class":147},[18,2045,2046,327],{},[21,2047,326],{},[14,2049,2050],{"id":2050},"字符串型",[18,2052,2053,2055],{},[21,2054,23],{},"：用于表示一串字符",[18,2057,2058],{},[21,2059,2060],{},"两种风格",[350,2062,2063],{},[353,2064,2065,2068,2069,2072,122,2075],{},[21,2066,2067],{},"C风格字符串","： ",[115,2070,2071],{},"char 变量名[] = \"字符串值\"",[2073,2074],"br",{},[124,2076,2080],{"className":2077,"code":2078,"language":2079,"meta":129,"style":129},"language-C++ shiki shiki-themes github-light github-dark","int main() {\n\n    char str1[] = \"hello world\";\n    cout \u003C\u003C str1 \u003C\u003C endl;\n    \n\n    return 0;\n}\n","C++",[115,2081,2082,2087,2091,2096,2101,2105,2109,2114],{"__ignoreMap":129},[133,2083,2084],{"class":135,"line":136},[133,2085,2086],{},"int main() {\n",[133,2088,2089],{"class":135,"line":151},[133,2090,162],{"emptyLinePlaceholder":161},[133,2092,2093],{"class":135,"line":158},[133,2094,2095],{},"    char str1[] = \"hello world\";\n",[133,2097,2098],{"class":135,"line":165},[133,2099,2100],{},"    cout \u003C\u003C str1 \u003C\u003C endl;\n",[133,2102,2103],{"class":135,"line":198},[133,2104,707],{},[133,2106,2107],{"class":135,"line":203},[133,2108,162],{"emptyLinePlaceholder":161},[133,2110,2111],{"class":135,"line":227},[133,2112,2113],{},"    return 0;\n",[133,2115,2116],{"class":135,"line":232},[133,2117,321],{},[329,2119,2120],{},[18,2121,2122],{},"注意：C风格的字符串要用双引号括起来",[350,2124,2125],{},[353,2126,2127,2130,2131,2134,122,2136,2175,2177],{},[21,2128,2129],{},"C++风格字符串","：  ",[115,2132,2133],{},"string  变量名 = \"字符串值\"",[2073,2135],{},[124,2137,2139],{"className":2077,"code":2138,"language":2079,"meta":129,"style":129},"int main() {\n\n    string str = \"hello world\";\n    cout \u003C\u003C str \u003C\u003C endl;\n    \n\n    return 0;\n}\n",[115,2140,2141,2145,2149,2154,2159,2163,2167,2171],{"__ignoreMap":129},[133,2142,2143],{"class":135,"line":136},[133,2144,2086],{},[133,2146,2147],{"class":135,"line":151},[133,2148,162],{"emptyLinePlaceholder":161},[133,2150,2151],{"class":135,"line":158},[133,2152,2153],{},"    string str = \"hello world\";\n",[133,2155,2156],{"class":135,"line":165},[133,2157,2158],{},"    cout \u003C\u003C str \u003C\u003C endl;\n",[133,2160,2161],{"class":135,"line":198},[133,2162,707],{},[133,2164,2165],{"class":135,"line":203},[133,2166,162],{"emptyLinePlaceholder":161},[133,2168,2169],{"class":135,"line":227},[133,2170,2113],{},[133,2172,2173],{"class":135,"line":232},[133,2174,321],{},[2073,2176],{},"​",[329,2179,2180],{},[18,2181,2182],{},"注意：C++风格字符串，需要加入头文件==#include\u003Cstring>==",[14,2184,2186],{"id":2185},"布尔类型-bool","布尔类型 bool",[18,2188,2189],{},"**作用：**布尔数据类型代表真或假的值",[18,2191,2192],{},"bool类型只有两个值：",[680,2194,2195,2198],{},[353,2196,2197],{},"true  --- 真（本质是1）",[353,2199,2200],{},"false --- 假（本质是0）",[18,2202,2203],{},[21,2204,2205],{},"bool类型占==1个字节==大小",[18,2207,122],{},[124,2209,2211],{"className":126,"code":2210,"language":128,"meta":129,"style":129},"int main() {\n\n    bool flag = true;\n    cout \u003C\u003C flag \u003C\u003C endl; // 1\n\n    flag = false;\n    cout \u003C\u003C flag \u003C\u003C endl; // 0\n\n    cout \u003C\u003C \"size of bool = \" \u003C\u003C sizeof(bool) \u003C\u003C endl; //1\n    \n\n    return 0;\n}\n",[115,2212,2213,2221,2225,2240,2255,2259,2271,2286,2290,2317,2321,2325,2333],{"__ignoreMap":129},[133,2214,2215,2217,2219],{"class":135,"line":136},[133,2216,140],{"class":139},[133,2218,144],{"class":143},[133,2220,148],{"class":147},[133,2222,2223],{"class":135,"line":151},[133,2224,162],{"emptyLinePlaceholder":161},[133,2226,2227,2230,2233,2235,2238],{"class":135,"line":158},[133,2228,2229],{"class":139},"    bool",[133,2231,2232],{"class":147}," flag ",[133,2234,438],{"class":139},[133,2236,2237],{"class":311}," true",[133,2239,315],{"class":147},[133,2241,2242,2244,2246,2248,2250,2252],{"class":135,"line":165},[133,2243,168],{"class":147},[133,2245,171],{"class":139},[133,2247,2232],{"class":147},[133,2249,171],{"class":139},[133,2251,796],{"class":147},[133,2253,2254],{"class":154}," // 1\n",[133,2256,2257],{"class":135,"line":198},[133,2258,162],{"emptyLinePlaceholder":161},[133,2260,2261,2264,2266,2269],{"class":135,"line":203},[133,2262,2263],{"class":147},"    flag ",[133,2265,438],{"class":139},[133,2267,2268],{"class":311}," false",[133,2270,315],{"class":147},[133,2272,2273,2275,2277,2279,2281,2283],{"class":135,"line":227},[133,2274,168],{"class":147},[133,2276,171],{"class":139},[133,2278,2232],{"class":147},[133,2280,171],{"class":139},[133,2282,796],{"class":147},[133,2284,2285],{"class":154}," // 0\n",[133,2287,2288],{"class":135,"line":232},[133,2289,162],{"emptyLinePlaceholder":161},[133,2291,2292,2294,2296,2299,2301,2303,2305,2308,2310,2312,2314],{"class":135,"line":257},[133,2293,168],{"class":147},[133,2295,171],{"class":139},[133,2297,2298],{"class":174}," \"size of bool = \"",[133,2300,178],{"class":139},[133,2302,181],{"class":139},[133,2304,184],{"class":147},[133,2306,2307],{"class":139},"bool",[133,2309,190],{"class":147},[133,2311,171],{"class":139},[133,2313,796],{"class":147},[133,2315,2316],{"class":154}," //1\n",[133,2318,2319],{"class":135,"line":262},[133,2320,707],{"class":147},[133,2322,2323],{"class":135,"line":289},[133,2324,162],{"emptyLinePlaceholder":161},[133,2326,2327,2329,2331],{"class":135,"line":294},[133,2328,308],{"class":139},[133,2330,312],{"class":311},[133,2332,315],{"class":147},[133,2334,2335],{"class":135,"line":299},[133,2336,321],{"class":147},[18,2338,2339,327],{},[21,2340,326],{},[14,2342,2344],{"id":2343},"类型别名-typedef","类型别名 typedef",[18,2346,2347,2348,2351,2352,2355],{},"C/C++ 提供了 ",[21,2349,2350],{},"typedef"," 关键字，您可以使用它来为类型取一个新的名字。下面的实例为单字节数字定义了一个术语 ",[21,2353,2354],{},"BYTE"," ：",[124,2357,2359],{"className":126,"code":2358,"language":128,"meta":129,"style":129},"typedef unsigned char byte;\ntypedef unsigned char uint8_t;\ntypedef float fp32;\ntypedef double fp64;\n",[115,2360,2361,2374,2387,2397],{"__ignoreMap":129},[133,2362,2363,2365,2368,2371],{"class":135,"line":136},[133,2364,2350],{"class":139},[133,2366,2367],{"class":139}," unsigned",[133,2369,2370],{"class":139}," char",[133,2372,2373],{"class":147}," byte;\n",[133,2375,2376,2378,2380,2382,2385],{"class":135,"line":151},[133,2377,2350],{"class":139},[133,2379,2367],{"class":139},[133,2381,2370],{"class":139},[133,2383,2384],{"class":139}," uint8_t",[133,2386,315],{"class":147},[133,2388,2389,2391,2394],{"class":135,"line":158},[133,2390,2350],{"class":139},[133,2392,2393],{"class":139}," float",[133,2395,2396],{"class":147}," fp32;\n",[133,2398,2399,2401,2404],{"class":135,"line":165},[133,2400,2350],{"class":139},[133,2402,2403],{"class":139}," double",[133,2405,2406],{"class":147}," fp64;\n",[18,2408,2409,2411],{},[21,2410,326],{}," 这段偏语法定义，通常需要配合调用代码一起编译，重点看定义方式和使用位置。",[14,2413,2415],{"id":2414},"数据单位二进制与补码","数据单位、二进制与补码",[350,2417,2418,2505,2533],{},[353,2419,2420,2421],{},"数据单位及其转换",[350,2422,2423,2428,2435,2443,2454],{},[353,2424,2425],{},[21,2426,2427],{},"1字节byte = 8比特bit = 8位二进制",[353,2429,2430,2431,2434],{},"数据是以 ",[21,2432,2433],{},"二进制"," 的形式存在电脑内存中的",[353,2436,2437,2438],{},"进制转换",[350,2439,2440],{},[353,2441,2442],{},"在C语言中，0b开头的数据代表2进制，0x开头的数代表16进制。因为2进制较长，所以我们在代码中，一般把2进制转化成16进制进行表示。",[353,2444,2445,2446],{},"数据的原码",[350,2447,2448,2451],{},[353,2449,2450],{},"无符号(unsigned)的数据类型: 无符号数据所占的所有2进制都表示数据的大小，假设占8位2进制，那么该数最大是255（其对应的2进制:1111 1111)，最小是0（对应2进制是0000 0000)。",[353,2452,2453],{},"有符号（signed)的数据类型:有符号的数据其最高位二进制是符号位，符号位是0则是正数，符号位是1则为负数。假设占8位2进制，去掉1位2进制，还剩7位2进制来表示数据的大小。那么其最大是127（其2进制是0111 1111)，最小是-128（其2进制是1000 0000，-127的是1111 1111)，这个-128其实是用了-0的二进制表示，因为咱们有0（0000 0000)了，所以-0（理论是1000 0000)就没有啥意义了，所以我们规定把-0的二进制表示成-128。",[353,2455,2456,2457,2499,2501],{},"数据的命名 :",[350,2458,2459,2482],{},[353,2460,2461,2462],{},"由于unsigned char，int等数据类型名称无法突出 数据的二进制 有无符号，占多少二进制，所以我们用typedef给其起新的别名（比如 新别名 uint8_t，int32_t)",[350,2463,2464,2467,2470,2473,2476,2479],{},[353,2465,2466],{},"uint8_t 中的u代表unsigned无符号，8代表占8位二进制，也就是1个字节。",[353,2468,2469],{},"int32_t前面不带u，所以是有符号的，占32位二进制，所以也就是占4个字节，所以是int类型的别名",[353,2471,2472],{},"因为char 占 1 字节，8 比特，8 位二进制，而且有符号，所以我们叫他int8_t",[353,2474,2475],{},"因为unsigned short int 无符号，占 2字节，16比特，16位2进制，所以叫uint16_t，其他的类似。",[353,2477,2478],{},"float占4字节，32位二进制，所以叫fp32",[353,2480,2481],{},"double占8字节，64位二进制，所以叫fp64",[353,2483,2484,2485],{},"具体的代码（在C++中自带一部分别名，可以不写一部分别名，但建议写):",[350,2486,2487,2490,2493,2496],{},[353,2488,2489],{},"typedef unsigned char uint8_t;",[353,2491,2492],{},"typedef short int int16_t;",[353,2494,2495],{},"typedef unsigned int uint32_t;",[353,2497,2498],{},"typedef float fp32;",[2073,2500],{},[2502,2503],"img",{"alt":129,"src":2504},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/10/05/image3.webp",[353,2506,2507,2508],{},"数据解析:",[350,2509,2510,2513,2516,2519,2522],{},[353,2511,2512],{},"应用场景介绍:一般传感器会一直给我们的单片机、工控机发送数据，比如说发送我们机器人所走的路程（假设单位是毫米，是个短整型数)。",[353,2514,2515],{},"数据处理目标: 比如获取路程（短整型，2个字节，16位2进制)",[353,2517,2518],{},"传感器传数据: 一般的通信来说，传感器会一个字节一个字节的给单片机和工控机不断发数据，一般一个占n字节的物理量数据，要分成n个字节，也就是n个变量来发，又因为数据以2进制的形式存储，一般先发最高的8位二进制。",[353,2520,2521],{},"单片机、工控机接受到的数据: 比如获取机器人的路程，该数据占2字节，所以传感器要分成两个变量来发送。先接收到的变量我们叫DH（数据的高8位2进制)，后接收到的数据我们叫DL（数据的低8位2进制)。",[353,2523,2524,2525],{},"数据处理思路: 我们现在拥有的是两个普通的8位二进制变量（uint8_t类型的)，我们想要获得带符号的16位2进制的数据，机器人的路程（int16_t类型的)。",[350,2526,2527,2530],{},[353,2528,2529],{},"位操作 : 假如说，DH是0x9D（对应2进制是1001 1101)，DL是0x57（对应2进制是0101 0111)。那么我们想要的16位数据就是把DH当16位中的最高的8位，DL当最低的8位，也就是我们想要的数据DATA（其二进制是 1001 1101 0101 0111)。我们想实现这个效果，就需要位操作，把DH向左移8位，让他变成1001 1101 0000 0000，然后再把左移后的DH 与 DL进行按位或运算，也就是1001 1101 0000 0000 与 0000 0000 0101 0111进行按位或，最后就得出来DATA是1001 1101 0101 0111了。",[353,2531,2532],{},"强转类型: 我们上面已经得出来data的2进制了，再进行强转化成有符号的数，也就是把最高位中的1变成符号位，具体代码是int16_t DATA = （int16_t) （（uint16_t)DH \u003C\u003C 8 | DL )，这样就处理成功了。",[353,2534,2535,2536],{},"数据在内存中的二进制表示方式",[350,2537,2538,2559,2644,2673],{},[353,2539,2540,2541],{},"计算机存储数据的前置知识",[350,2542,2543,2550,2553],{},[353,2544,2545,2546,2549],{},"计算机底层存储数据时使用的是二进制数字，但是计算机在存储一个数字时并不是直接存储该数字对应的二进制数字，而是存储该数字对应二进制数字的 ",[21,2547,2548],{},"补码"," 。",[353,2551,2552],{},"机器码：一个数在计算机的存储形式是二进制数，我们称这些二进制数为机器数，机器数是有符号，在计算机中用机器数的次最高位的左侧存放符号位，0表示正数，1表示负数",[353,2554,2555,2556,2549],{},"真值：因为机器数带有符号位，所以机器数的形式值不等于其真实表示的值（真值），以机器数1000 0001为例，其真正表示的值（首位为符号位）为-1，而形式值（首位就是代表1）为129； ",[21,2557,2558],{},"因此将带符号的机器数的真正表示的值称为机器数的真值",[353,2560,2561,2564,2572,2574,2575,2593,2600,2602,2603,2620,2626,2628,2629],{},[21,2562,2563],{},"原码、反码、补码：",[350,2565,2566],{},[353,2567,2568,2571],{},[21,2569,2570],{},"原码"," 的表示与机器数真值表示的一样，即用第一位表示符号，其余位表示数值。也就是",[2073,2573],{},"    正数：就是它对应的二进制数。 负数：将绝对值对应的二进制最左边位变为1。",[124,2576,2581],{"className":2577,"code":2578,"language":2579,"meta":2580,"style":129},"language-Plain shiki shiki-themes github-light github-dark","【+1】= 原：[ 0000 0001 ]\n【-1】= 原：[ 1000 0001 ]\n","Plain","Text",[115,2582,2583,2588],{"__ignoreMap":129},[133,2584,2585],{"class":135,"line":136},[133,2586,2587],{},"【+1】= 原：[ 0000 0001 ]\n",[133,2589,2590],{"class":135,"line":151},[133,2591,2592],{},"【-1】= 原：[ 1000 0001 ]\n",[350,2594,2595],{"start":165},[353,2596,2597],{},[21,2598,2599],{},"反码：",[2073,2601],{},"    正数 : 和原码相同。 负数 : 在其原码的基础上，符号位不变，其余各位取反。",[124,2604,2608],{"className":2605,"code":2606,"language":2607,"meta":129,"style":129},"language-Java shiki shiki-themes github-light github-dark","【+1】= 原： [ 0000 0001 ] = 反：[ 0000 0001 ]\n【-1】= 原： [ 1000 0001 ] = 反：[ 1111 1110 ]\n","Java",[115,2609,2610,2615],{"__ignoreMap":129},[133,2611,2612],{"class":135,"line":136},[133,2613,2614],{},"【+1】= 原： [ 0000 0001 ] = 反：[ 0000 0001 ]\n",[133,2616,2617],{"class":135,"line":151},[133,2618,2619],{},"【-1】= 原： [ 1000 0001 ] = 反：[ 1111 1110 ]\n",[350,2621,2622],{"start":227},[353,2623,2624,2355],{},[21,2625,2548],{},[2073,2627],{},"    正数 : 补码是其原码本身。 负数 : 补码是在其原码的基础上，符号位不变，其余各位取反后加1（即在反码的基础上加1）",[124,2630,2632],{"className":2605,"code":2631,"language":2607,"meta":129,"style":129},"【+1】= 原： [ 0000 0001 ] = 反：[ 0000 0001 ] = 补：[ 0000 0001 ]\n【-1】= 原： [ 1000 0001 ] = 反：[ 1111 1110 ] = 补：[ 1111 1111 ]\n",[115,2633,2634,2639],{"__ignoreMap":129},[133,2635,2636],{"class":135,"line":136},[133,2637,2638],{},"【+1】= 原： [ 0000 0001 ] = 反：[ 0000 0001 ] = 补：[ 0000 0001 ]\n",[133,2640,2641],{"class":135,"line":151},[133,2642,2643],{},"【-1】= 原： [ 1000 0001 ] = 反：[ 1111 1110 ] = 补：[ 1111 1111 ]\n",[353,2645,2646,2647,2652,2654,2657],{},"数据在计算机中的存储形式",[350,2648,2649],{},[353,2650,2651],{},"计算机实际只存储补码，所以原码转换为补码的过程，也可以理解为数据存储到计算机内存中的过程：",[2073,2653],{},[2502,2655],{"alt":129,"src":2656},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/10/05/image4.webp",[350,2658,2659,2662,2665],{"start":158},[353,2660,2661],{},"正数：在原、反、补码中，正数的表示是一模一样的",[353,2663,2664],{},"负数：负数的表示是不相同的，所以对于负数的补码来说，我们是不能直接用进制转换将其转换为十进制数值的，因为这样是得不到计算机真正存储的十进制数的，所以应该将其转换为原码后，再将转换得到的原码进行进制转换为十进制数（机器数包含符号位）",[353,2666,2667,2668],{},"为什么要诞生原码、反码和补码？",[350,2669,2670],{},[353,2671,2672],{},"原因：对于只有正数的加减运算来说，用原码计算是没有任何问题的，但是当既有正数，也有负数的时候，计算机无法判断最高位是否是符号位。",[353,2674,2675,2676],{},"总结：",[350,2677,2678,2692,2695,2706,2709,2714],{},[353,2679,2680,2683,2689],{},[21,2681,2682],{},"二进制的",[2684,2685,2686],"em",{},[21,2687,2688],{},"最高位",[21,2690,2691],{},"是符号位：0表示正数，1表示负数",[353,2693,2694],{},"正数的原码反码补码都一样，三码合一。",[353,2696,2697,2698],{},"负数",[350,2699,2700,2703],{},[353,2701,2702],{},"负数的反码 = 它的原码符号位不变，其它位取反。",[353,2704,2705],{},"负数的补码 = 它的反码 + 1， 负数的反码 = 负数的补码 - 1 。",[353,2707,2708],{},"0 的反码、补码都是 0 。",[353,2710,2711],{},[21,2712,2713],{},"在计算机运算的时候都是以 “补码” 的方式来运算的。",[353,2715,2716,2717,2719],{},"运算结果是以 ",[21,2718,2570],{}," 形式展现的。",[2721,2722,2723],"style",{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":129,"searchDepth":151,"depth":151,"links":2725},[2726],{"id":12,"depth":151,"text":12,"children":2727},[2728,2729,2730,2731,2732,2733,2734,2735,2736],{"id":16,"depth":158,"text":16},{"id":104,"depth":158,"text":104},{"id":339,"depth":158,"text":340},{"id":658,"depth":158,"text":658},{"id":1736,"depth":158,"text":1736},{"id":2050,"depth":158,"text":2050},{"id":2185,"depth":158,"text":2186},{"id":2343,"depth":158,"text":2344},{"id":2414,"depth":158,"text":2415},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch2-shu-ju-lei-xing-yu-shu-ju-cun-fang",2000000,"2023-10-05","wiki/2023-10-05-cplusplus-jiao-xue","zh-cn:2023-10-05-cplusplus-jiao-xue","/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue","Cplusplus教学","md","wiki/2023-10-05-Cplusplus教学/ch2-数据类型与数据存放",false,null,"/wiki/2023-10-05-cplusplus-jiao-xue/ch2-shu-ju-lei-xing-yu-shu-ju-cun-fang","zh-CN","zh-cn",{},{"title":5,"description":129},"mSfVFACkmmFIEllJ6K4OLPIWGu0hOlP5dpt5EDJRJXY",[2755,2760,2765,2770,2775,2781,2787,2793,2799,2805,2811,2816,2821,2826,2832,2838,2844,2850,2856,2862,2868,2874,2879,2884,2890,2896,2902,2908,2914,2920,2926,2932,2938,2944,2950,2956,2962,2968,2974,2980,2986,2992,2998,3004,3010,3016,3022,3028,3034,3039,3045,3051,3057,3063,3069,3075,3081,3087,3093,3099,3105,3110,3111,3116,3121,3126,3131,3136,3141,3146],{"path":2756,"stem":2757,"title":2758,"date":2739,"chapter":928,"chapterSort":2759,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch1-c-ji-chu-chu-shi","wiki/2023-10-05-Cplusplus教学/ch1-C++基础初识","C++基础初识",1000000,{"path":2761,"stem":2762,"title":2763,"date":2739,"chapter":1158,"chapterSort":2764,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch10-nei-cun-fen-qu-yu-sheng-ming-zhou-qi","wiki/2023-10-05-Cplusplus教学/ch10-内存分区与生命周期","内存分区与生命周期",10000000,{"path":2766,"stem":2767,"title":2768,"date":2739,"chapter":1184,"chapterSort":2769,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch11-yin-yong","wiki/2023-10-05-Cplusplus教学/ch11-引用","引用",11000000,{"path":2771,"stem":2772,"title":2773,"date":2739,"chapter":1210,"chapterSort":2774,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch12-han-shu-ti-gao-yu-ming-ming-kong-jian","wiki/2023-10-05-Cplusplus教学/ch12-函数提高与命名空间","函数提高与命名空间",12000000,{"path":2776,"stem":2777,"title":2778,"date":2739,"chapter":2779,"chapterSort":2780,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-1-feng-zhuang","wiki/2023-10-05-Cplusplus教学/ch13-1-封装","封装","13.1",13010000,{"path":2782,"stem":2783,"title":2784,"date":2739,"chapter":2785,"chapterSort":2786,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-2-dui-xiang-chu-shi-hua-he-qing-li","wiki/2023-10-05-Cplusplus教学/ch13-2-对象初始化和清理","对象初始化和清理","13.2",13020000,{"path":2788,"stem":2789,"title":2790,"date":2739,"chapter":2791,"chapterSort":2792,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-3-dui-xiang-mo-xing-yu-this-zhi-zhen","wiki/2023-10-05-Cplusplus教学/ch13-3-对象模型与this指针","对象模型与this指针","13.3",13030000,{"path":2794,"stem":2795,"title":2796,"date":2739,"chapter":2797,"chapterSort":2798,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-4-you-yuan-yu-yun-suan-fu-zhong-zai","wiki/2023-10-05-Cplusplus教学/ch13-4-友元与运算符重载","友元与运算符重载","13.4",13040000,{"path":2800,"stem":2801,"title":2802,"date":2739,"chapter":2803,"chapterSort":2804,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-5-ji-cheng","wiki/2023-10-05-Cplusplus教学/ch13-5-继承","继承","13.5",13050000,{"path":2806,"stem":2807,"title":2808,"date":2739,"chapter":2809,"chapterSort":2810,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-6-duo-tai","wiki/2023-10-05-Cplusplus教学/ch13-6-多态","多态","13.6",13060000,{"path":2812,"stem":2813,"title":2814,"date":2739,"chapter":1235,"chapterSort":2815,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-lei-he-dui-xiang","wiki/2023-10-05-Cplusplus教学/ch13-类和对象","类和对象",13000000,{"path":2817,"stem":2818,"title":2819,"date":2739,"chapter":1261,"chapterSort":2820,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch14-wen-jian-cao-zuo","wiki/2023-10-05-Cplusplus教学/ch14-文件操作","文件操作",14000000,{"path":2822,"stem":2823,"title":2824,"date":2739,"chapter":1287,"chapterSort":2825,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch15-mu-ban","wiki/2023-10-05-Cplusplus教学/ch15-模板","模板",15000000,{"path":2827,"stem":2828,"title":2829,"date":2739,"chapter":2830,"chapterSort":2831,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-1-stl-chu-shi","wiki/2023-10-05-Cplusplus教学/ch16-1-STL初识","STL初识","16.1",16010000,{"path":2833,"stem":2834,"title":2835,"date":2739,"chapter":2836,"chapterSort":2837,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-2-std-array","wiki/2023-10-05-Cplusplus教学/ch16-2-std-array","std::array","16.2",16020000,{"path":2839,"stem":2840,"title":2841,"date":2739,"chapter":2842,"chapterSort":2843,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-3-string-rong-qi","wiki/2023-10-05-Cplusplus教学/ch16-3-string容器","string容器","16.3",16030000,{"path":2845,"stem":2846,"title":2847,"date":2739,"chapter":2848,"chapterSort":2849,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-4-vector-yu-deque-rong-qi","wiki/2023-10-05-Cplusplus教学/ch16-4-vector与deque容器","vector与deque容器","16.4",16040000,{"path":2851,"stem":2852,"title":2853,"date":2739,"chapter":2854,"chapterSort":2855,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-5-stack-queue-list-rong-qi","wiki/2023-10-05-Cplusplus教学/ch16-5-stack-queue-list容器","stack / queue / list 容器","16.5",16050000,{"path":2857,"stem":2858,"title":2859,"date":2739,"chapter":2860,"chapterSort":2861,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-6-set-map-rong-qi","wiki/2023-10-05-Cplusplus教学/ch16-6-set-map容器","set / map 容器","16.6",16060000,{"path":2863,"stem":2864,"title":2865,"date":2739,"chapter":2866,"chapterSort":2867,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-7-han-shu-dui-xiang-yu-wei-ci","wiki/2023-10-05-Cplusplus教学/ch16-7-函数对象与谓词","函数对象与谓词","16.7",16070000,{"path":2869,"stem":2870,"title":2871,"date":2739,"chapter":2872,"chapterSort":2873,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-8-chang-yong-suan-fa","wiki/2023-10-05-Cplusplus教学/ch16-8-常用算法","常用算法","16.8",16080000,{"path":2875,"stem":2876,"title":2877,"date":2739,"chapter":1313,"chapterSort":2878,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-stl-ti-gao-bian-cheng","wiki/2023-10-05-Cplusplus教学/ch16-STL提高编程","STL提高编程",16000000,{"path":2880,"stem":2881,"title":2882,"date":2739,"chapter":1337,"chapterSort":2883,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch17-c-lei-xing-zhuan-huan","wiki/2023-10-05-Cplusplus教学/ch17-C++类型转换","C++类型转换",17000000,{"path":2885,"stem":2886,"title":2887,"date":2739,"chapter":2888,"chapterSort":2889,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-1-auto","wiki/2023-10-05-Cplusplus教学/ch18-1-auto","auto","18.1",18010000,{"path":2891,"stem":2892,"title":2893,"date":2739,"chapter":2894,"chapterSort":2895,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-10-you-zhi-yin-yong-he-yi-dong-yu-yi","wiki/2023-10-05-Cplusplus教学/ch18-10-右值引用和移动语义","右值引用和移动语义","18.10",18100000,{"path":2897,"stem":2898,"title":2899,"date":2739,"chapter":2900,"chapterSort":2901,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-11-lambda-biao-da-shi","wiki/2023-10-05-Cplusplus教学/ch18-11-Lambda表达式","Lambda 表达式","18.11",18110000,{"path":2903,"stem":2904,"title":2905,"date":2739,"chapter":2906,"chapterSort":2907,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-12-std-function","wiki/2023-10-05-Cplusplus教学/ch18-12-std-function","std::function","18.12",18120000,{"path":2909,"stem":2910,"title":2911,"date":2739,"chapter":2912,"chapterSort":2913,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-13-std-bind","wiki/2023-10-05-Cplusplus教学/ch18-13-std-bind","std::bind","18.13",18130000,{"path":2915,"stem":2916,"title":2917,"date":2739,"chapter":2918,"chapterSort":2919,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-14-std-optional","wiki/2023-10-05-Cplusplus教学/ch18-14-std-optional","std::optional","18.14",18140000,{"path":2921,"stem":2922,"title":2923,"date":2739,"chapter":2924,"chapterSort":2925,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-15-std-variant","wiki/2023-10-05-Cplusplus教学/ch18-15-std-variant","std::variant","18.15",18150000,{"path":2927,"stem":2928,"title":2929,"date":2739,"chapter":2930,"chapterSort":2931,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-16-std-span","wiki/2023-10-05-Cplusplus教学/ch18-16-std-span","std::span","18.16",18160000,{"path":2933,"stem":2934,"title":2935,"date":2739,"chapter":2936,"chapterSort":2937,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-17-std-format-print","wiki/2023-10-05-Cplusplus教学/ch18-17-std-format-print","std::format / std::print","18.17",18170000,{"path":2939,"stem":2940,"title":2941,"date":2739,"chapter":2942,"chapterSort":2943,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-18-std-chrono","wiki/2023-10-05-Cplusplus教学/ch18-18-std-chrono","std::chrono","18.18",18180000,{"path":2945,"stem":2946,"title":2947,"date":2739,"chapter":2948,"chapterSort":2949,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-19-1-std-thread","wiki/2023-10-05-Cplusplus教学/ch18-19-1-std-thread","std::thread 与 join","18.19.1",18190100,{"path":2951,"stem":2952,"title":2953,"date":2739,"chapter":2954,"chapterSort":2955,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-19-2-mutex-lock-guard","wiki/2023-10-05-Cplusplus教学/ch18-19-2-mutex-lock-guard","mutex 与 lock_guard","18.19.2",18190200,{"path":2957,"stem":2958,"title":2959,"date":2739,"chapter":2960,"chapterSort":2961,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-19-3-std-atomic","wiki/2023-10-05-Cplusplus教学/ch18-19-3-std-atomic","std::atomic","18.19.3",18190300,{"path":2963,"stem":2964,"title":2965,"date":2739,"chapter":2966,"chapterSort":2967,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-19-4-condition-variable","wiki/2023-10-05-Cplusplus教学/ch18-19-4-condition-variable","condition_variable","18.19.4",18190400,{"path":2969,"stem":2970,"title":2971,"date":2739,"chapter":2972,"chapterSort":2973,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-19-bing-fa-bian-cheng","wiki/2023-10-05-Cplusplus教学/ch18-19-并发编程","并发编程","18.19",18190000,{"path":2975,"stem":2976,"title":2977,"date":2739,"chapter":2978,"chapterSort":2979,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-2-nullptr","wiki/2023-10-05-Cplusplus教学/ch18-2-nullptr","nullptr","18.2",18020000,{"path":2981,"stem":2982,"title":2983,"date":2739,"chapter":2984,"chapterSort":2985,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-20-std-filesystem","wiki/2023-10-05-Cplusplus教学/ch18-20-std-filesystem","std::filesystem","18.20",18200000,{"path":2987,"stem":2988,"title":2989,"date":2739,"chapter":2990,"chapterSort":2991,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-21-modules-jian-jie","wiki/2023-10-05-Cplusplus教学/ch18-21-modules简介","modules 简介","18.21",18210000,{"path":2993,"stem":2994,"title":2995,"date":2739,"chapter":2996,"chapterSort":2997,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-3-using","wiki/2023-10-05-Cplusplus教学/ch18-3-using","using","18.3",18030000,{"path":2999,"stem":3000,"title":3001,"date":2739,"chapter":3002,"chapterSort":3003,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-4-enum-class","wiki/2023-10-05-Cplusplus教学/ch18-4-enum-class","enum class","18.4",18040000,{"path":3005,"stem":3006,"title":3007,"date":2739,"chapter":3008,"chapterSort":3009,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-5-fan-wei-for-xun-huan","wiki/2023-10-05-Cplusplus教学/ch18-5-范围for循环","范围 for 循环","18.5",18050000,{"path":3011,"stem":3012,"title":3013,"date":2739,"chapter":3014,"chapterSort":3015,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-6-jie-gou-hua-bang-ding","wiki/2023-10-05-Cplusplus教学/ch18-6-结构化绑定","结构化绑定","18.6",18060000,{"path":3017,"stem":3018,"title":3019,"date":2739,"chapter":3020,"chapterSort":3021,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-7-constexpr","wiki/2023-10-05-Cplusplus教学/ch18-7-constexpr","constexpr","18.7",18070000,{"path":3023,"stem":3024,"title":3025,"date":2739,"chapter":3026,"chapterSort":3027,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-8-raii","wiki/2023-10-05-Cplusplus教学/ch18-8-RAII","RAII","18.8",18080000,{"path":3029,"stem":3030,"title":3031,"date":2739,"chapter":3032,"chapterSort":3033,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-9-zhi-neng-zhi-zhen","wiki/2023-10-05-Cplusplus教学/ch18-9-智能指针","智能指针","18.9",18090000,{"path":3035,"stem":3036,"title":3037,"date":2739,"chapter":1362,"chapterSort":3038,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-xian-dai-c","wiki/2023-10-05-Cplusplus教学/ch18-现代C++","现代C++",18000000,{"path":3040,"stem":3041,"title":3042,"date":2739,"chapter":3043,"chapterSort":3044,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-1-ding-shi-qi-yu-yi-bu-io","wiki/2023-10-05-Cplusplus教学/ch19-1-1-定时器与异步IO","定时器与异步 IO","19.1.1",19010100,{"path":3046,"stem":3047,"title":3048,"date":2739,"chapter":3049,"chapterSort":3050,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-2-boost-asio-ji-chu","wiki/2023-10-05-Cplusplus教学/ch19-1-2-Boost.Asio基础","Boost.Asio 基础","19.1.2",19010200,{"path":3052,"stem":3053,"title":3054,"date":2739,"chapter":3055,"chapterSort":3056,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-3-chuan-kou-tong-xin","wiki/2023-10-05-Cplusplus教学/ch19-1-3-串口通信","串口通信","19.1.3",19010300,{"path":3058,"stem":3059,"title":3060,"date":2739,"chapter":3061,"chapterSort":3062,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-4-tcp-tong-xin","wiki/2023-10-05-Cplusplus教学/ch19-1-4-TCP通信","TCP 通信","19.1.4",19010400,{"path":3064,"stem":3065,"title":3066,"date":2739,"chapter":3067,"chapterSort":3068,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-5-udp-tong-xin","wiki/2023-10-05-Cplusplus教学/ch19-1-5-UDP通信","UDP 通信","19.1.5",19010500,{"path":3070,"stem":3071,"title":3072,"date":2739,"chapter":3073,"chapterSort":3074,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-6-ji-qi-ren-gong-cheng-xie-fa-yu-ros2-ji-cheng","wiki/2023-10-05-Cplusplus教学/ch19-1-6-机器人工程写法与ROS2集成","机器人工程写法与 ROS2 集成","19.1.6",19010600,{"path":3076,"stem":3077,"title":3078,"date":2739,"chapter":3079,"chapterSort":3080,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-boost-asio-yi-bu-io-ku","wiki/2023-10-05-Cplusplus教学/ch19-1-Boost.Asio异步IO库","Boost.Asio异步IO库","19.1",19010000,{"path":3082,"stem":3083,"title":3084,"date":2739,"chapter":3085,"chapterSort":3086,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-2-eigen-xian-xing-dai-shu-ku","wiki/2023-10-05-Cplusplus教学/ch19-2-Eigen线性代数库","Eigen线性代数库","19.2",19020000,{"path":3088,"stem":3089,"title":3090,"date":2739,"chapter":3091,"chapterSort":3092,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-3-opencv-ji-suan-ji-shi-jue-ku","wiki/2023-10-05-Cplusplus教学/ch19-3-OpenCV计算机视觉库","OpenCV计算机视觉库","19.3",19030000,{"path":3094,"stem":3095,"title":3096,"date":2739,"chapter":3097,"chapterSort":3098,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-4-pcl-dian-yun-ku","wiki/2023-10-05-Cplusplus教学/ch19-4-PCL点云库","PCL点云库","19.4",19040000,{"path":3100,"stem":3101,"title":3102,"date":2739,"chapter":3103,"chapterSort":3104,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-5-sophus-li-qun-li-dai-shu-ku","wiki/2023-10-05-Cplusplus教学/ch19-5-Sophus李群李代数库","Sophus 李群李代数库","19.5",19050000,{"path":3106,"stem":3107,"title":3108,"date":2739,"chapter":1387,"chapterSort":3109,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-chang-yong-ku","wiki/2023-10-05-Cplusplus教学/ch19-常用库","常用库学习",19000000,{"path":2737,"stem":2745,"title":5,"date":2739,"chapter":560,"chapterSort":2738,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},{"path":3112,"stem":3113,"title":3114,"date":2739,"chapter":979,"chapterSort":3115,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch3-shu-ru-shu-chu","wiki/2023-10-05-Cplusplus教学/ch3-输入输出","输入输出",3000000,{"path":3117,"stem":3118,"title":3119,"date":2739,"chapter":1005,"chapterSort":3120,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch4-yun-suan-fu","wiki/2023-10-05-Cplusplus教学/ch4-运算符","运算符",4000000,{"path":3122,"stem":3123,"title":3124,"date":2739,"chapter":1031,"chapterSort":3125,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch5-cheng-xu-liu-cheng-jie-gou","wiki/2023-10-05-Cplusplus教学/ch5-程序流程结构","程序流程结构",5000000,{"path":3127,"stem":3128,"title":3129,"date":2739,"chapter":1056,"chapterSort":3130,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch6-shu-zu","wiki/2023-10-05-Cplusplus教学/ch6-数组","数组",6000000,{"path":3132,"stem":3133,"title":3134,"date":2739,"chapter":1081,"chapterSort":3135,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch7-han-shu-yu-tou-wen-jian","wiki/2023-10-05-Cplusplus教学/ch7-函数与头文件","函数与头文件",7000000,{"path":3137,"stem":3138,"title":3139,"date":2739,"chapter":1107,"chapterSort":3140,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch8-zhi-zhen","wiki/2023-10-05-Cplusplus教学/ch8-指针","指针",8000000,{"path":3142,"stem":3143,"title":3144,"date":2739,"chapter":1132,"chapterSort":3145,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":2746},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch9-jie-gou-ti-yu-gong-yong-ti","wiki/2023-10-05-Cplusplus教学/ch9-结构体与共用体","结构体与共用体",9000000,{"path":2742,"stem":3147,"title":3148,"date":2739,"chapter":2747,"chapterSort":3149,"docKey":2741,"docRoot":2742,"docTitle":2743,"isWikiDoc":161,"isWikiIndex":161},"wiki/2023-10-05-Cplusplus教学/index","C/C++教程",0,{"variants":3151},[3152,3155,3158,3161,3164],{"path":3153,"localeSlug":3154,"i18nKey":2745},"/en-us/wiki/2023-10-05-cplusplus-jiao-xue/ch2-shu-ju-lei-xing-yu-shu-ju-cun-fang","en-us",{"path":3156,"localeSlug":3157,"i18nKey":2745},"/zh-hant/wiki/2023-10-05-cplusplus-jiao-xue/ch2-shu-ju-lei-xing-yu-shu-ju-cun-fang","zh-hant",{"path":3159,"localeSlug":3160,"i18nKey":2745},"/zh-hk/wiki/2023-10-05-cplusplus-jiao-xue/ch2-shu-ju-lei-xing-yu-shu-ju-cun-fang","zh-hk",{"path":3162,"localeSlug":3163,"i18nKey":2745},"/zh-tw/wiki/2023-10-05-cplusplus-jiao-xue/ch2-shu-ju-lei-xing-yu-shu-ju-cun-fang","zh-tw",{"path":2737,"localeSlug":2750,"i18nKey":2745},[3153,2748,3156,2748,3159,2748,3162,2748,2737,2748],1780663028961]