第02章 信息的分类与编码
- 格式:ppt
- 大小:1.03 MB
- 文档页数:44
计算机系统导论——读书笔记——第⼆章信息的表⽰和处理第⼆章信息的表⽰和处理2.1 信息存储2.1.1 ⼗六进制2.1.2 字数据⼤⼩2.1.3 寻址和字节顺序1.地址:对象所使⽤的字节中最⼩的地址2.⼤端法:最⾼有效字节在前⼩端法:最低有效字节在前(⼤多Intel兼容机使⽤)3.发送⽅机器(内部代码)——>⽹络应⽤程序(⽹络标准)——>接收⽅机器(内部代码)4.⼩程序——打印程序对象的字节表⽰1 #include <stdio.h>2using namespace std;34 typedef unsigned char * byte_pointer;//定义类型:指向unsigned char的指针56void show_byte(byte_pointer start, size_t len){7 size_t i;8for(i = 0; i < len; ++i)9 printf(" %.2x", start[i]);//%.2x表⽰整数必须⽤⾄少两个数字的⼗六进制格式输出10 printf("\n");11 }1213void show_int(int x){14 show_byte((byte_pointer) &x, sizeof(int));15 }1617void show_float(float x){18 show_byte((byte_pointer) &x, sizeof(float));19 }2021void show_double(double x){22 show_byte((byte_pointer) &x, sizeof(double));23 }2425void show_pointer(void * x){//void*是特殊类型的指针,没有相关联的类型信息26 show_byte((byte_pointer) &x, sizeof(void *));27 }2829int main(){30int x;31float y;32double z;33while(scanf("%d %f %lf", &x, &y, &z)){34 show_int(x);35 show_float(y);36 show_double(z);37 show_pointer(&x);38 show_pointer(&y);39 show_pointer(&z);40 }41return0;42 }输⼊111-1-1.0-1.0123451.0011.001输出01 00 00 0000 00 80 3f00 00 00 00 00 00 f0 3f98 f5 bf ef fe 7f 00 0094 f5 bf ef fe 7f 00 0088 f5 bf ef fe 7f 00 00ff ff ff ff00 00 80 bf00 00 00 00 00 00 f0 bf98 f5 bf ef fe 7f 00 0094 f5 bf ef fe 7f 00 0088 f5 bf ef fe 7f 00 0039 30 00 00c5 20 80 3f6a bc 74 93 18 04 f0 3f98 f5 bf ef fe 7f 00 0094 f5 bf ef fe 7f 00 0088 f5 bf ef fe 7f 00 00我的电脑是MaxOS,可以看出它是64位系统,采⽤⼩端法表⽰5.可以通过在终端(mac是terminal,windows是命令⾏⼯具)执⾏命令man ascii得到⼀张ASCII字符码表,回车后运⾏结果如下ASCII(7) BSD Miscellaneous Information Manual ASCII(7)NAMEascii -- octal, hexadecimal and decimal ASCII character setsDESCRIPTIONThe octal set:000 nul 001 soh 002 stx 003 etx 004 eot 005 enq 006 ack 007 bel010 bs 011 ht 012 nl 013 vt 014 np 015 cr 016 so 017 si020 dle 021 dc1 022 dc2 023 dc3 024 dc4 025 nak 026 syn 027 etb030 can 031 em 032 sub 033 esc 034 fs 035 gs 036 rs 037 us040 sp 041 ! 042 " 043 # 044 $ 045 % 046 & 047 '050 ( 051 ) 052 * 053 + 054 , 055 - 056 . 057 /060 0 061 1 062 2 063 3 064 4 065 5 066 6 067 7070 8 071 9 072 : 073 ; 074 < 075 = 076 > 077 ?100 @ 101 A 102 B 103 C 104 D 105 E 106 F 107 G110 H 111 I 112 J 113 K 114 L 115 M 116 N 117 O120 P 121 Q 122 R 123 S 124 T 125 U 126 V 127 W130 X 131 Y 132 Z 133 [ 134 \ 135 ] 136 ^ 137 _140 ` 141 a 142 b 143 c 144 d 145 e 146 f 147 g150 h 151 i 152 j 153 k 154 l 155 m 156 n 157 o160 p 161 q 162 r 163 s 164 t 165 u 166 v 167 w170 x 171 y 172 z 173 { 174 | 175 } 176 ~ 177 delThe hexadecimal set:00 nul 01 soh 02 stx 03 etx 04 eot 05 enq 06 ack 07 bel08 bs 09 ht 0a nl 0b vt 0c np 0d cr 0e so 0f si10 dle 11 dc1 12 dc2 13 dc3 14 dc4 15 nak 16 syn 17 etb18 can 19 em 1a sub 1b esc 1c fs 1d gs 1e rs 1f us20 sp 21 ! 22 " 23 # 24 $ 25 % 26 & 27 '28 ( 29 ) 2a * 2b + 2c , 2d - 2e . 2f /30 0 31 1 32 2 33 3 34 4 35 5 36 6 37 738 8 39 9 3a : 3b ; 3c < 3d = 3e > 3f ?40 @ 41 A 42 B 43 C 44 D 45 E 46 F 47 G48 H 49 I 4a J 4b K 4c L 4d M 4e N 4f O50 P 51 Q 52 R 53 S 54 T 55 U 56 V 57 W58 X 59 Y 5a Z 5b [ 5c \ 5d ] 5e ^ 5f _60 ` 61 a 62 b 63 c 64 d 65 e 66 f 67 g68 h 69 i 6a j 6b k 6c l 6d m 6e n 6f o70 p 71 q 72 r 73 s 74 t 75 u 76 v 77 w78 x 79 y 7a z 7b { 7c | 7d } 7e ~ 7f delThe decimal set:0 nul 1 soh 2 stx 3 etx 4 eot 5 enq 6 ack 7 bel8 bs 9 ht 10 nl 11 vt 12 np 13 cr 14 so 15 si16 dle 17 dc1 18 dc2 19 dc3 20 dc4 21 nak 22 syn 23 etb24 can 25 em 26 sub 27 esc 28 fs 29 gs 30 rs 31 us32 sp 33 ! 34 " 35 # 36 $ 37 % 38 & 39 '40 ( 41 ) 42 * 43 + 44 , 45 - 46 . 47 /48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 756 8 57 9 58 : 59 ; 60 < 61 = 62 > 63 ?64 @ 65 A 66 B 67 C 68 D 69 E 70 F 71 G72 H 73 I 74 J 75 K 76 L 77 M 78 N 79 O80 P 81 Q 82 R 83 S 84 T 85 U 86 V 87 W88 X 89 Y 90 Z 91 [ 92 \ 93 ] 94 ^ 95 _96 ` 97 a 98 b 99 c 100 d 101 e 102 f 103 g104 h 105 i 106 j 107 k 108 l 109 m 110 n 111 o112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w120 x 121 y 122 z 123 { 124 | 125 } 126 ~ 127 delFILES/usr/share/misc/asciiHISTORYAn ascii manual page appeared in Version 7 AT&T UNIX.BSD June 5, 1993 BSD(END)2.1.4 表⽰字符串1.⼗进制数字‘y’的ascii码正好是0x3y2.strlen(str)函数不计算终⽌的空字符(ascii码为0x00)3.字符编码⽅式:(1)ASCII (American Standard Code for Information interchange)(2)Unicode (Unique Code)(3)UTF-8 / UTF-16 / UFT-32 (Unicode Transformation Format)2.1.5 表⽰代码2.1.6 布尔代数(Boolean Algebra)简介1.布尔运算&对|有分配律:a&(b|c) = (a&b)|(a&c)布尔运算|对&有分配律:a|(b&c) = (a|b)&(a|c)2.位向量:长度为w,由0和1组成的串应⽤:表⽰有限集合/压位运算(例:[01101010]表⽰集合{1,3,5,6}),位向量掩码/屏蔽信号3.布尔环(Boolean ring),类似于整环/整数环“加法”逆元:^类似于+; 每个整数x有加法逆元-x使得x+(-x)=0,类似地,每个布尔元素a都有“加法逆元”a使得a^a=0; 有趣的性质:(a^b)^a=b 1//这是⼀个不需要第三个量的交换函数,不过它并没有性能上的优势2void inplace_swap(int *x, int *y){//*x = a, *y = b3 *x = *x ^ *y;//*x = a^b, *y = b4 *y = *x ^ *y;//*x = a^b, *y = a5 *x = *x ^ *y;//*x = b, *y = a6 }2.1.7 C语⾔中的位级运算:&, |, ^, ~2.1.8 C语⾔中的逻辑运算: &&, ||, !2.1.9 C语⾔中的移位运算:>>, <<1.逻辑右移(⾼位补0,⽆符号数进⾏逻辑右移)算数右移(⾼位补符号位,有符号数进⾏算数右移)(1)初级运算符[]().->(2)单⽬运算符(3)算数运算符(4)移位运算符(5)关系运算符(6)位级运算符(7)逻辑运算符(8)赋值运算符2.2 整数表⽰2.2.1 整形数据类型2.2.2 ⽆符号数的编码(unsigned)2.2.3 补码编码(two's-complement)1.<limits.h>库:INT_MIN, INT_MAX, UINT_MAX<stdint.h>库:intN_t, UintN_t (t = 16,32,64等)(我在xcode上没有include这两个库也能直接使⽤INT_MIN、int32_t等)2.有符号数的表⽰⽅法(1)补码(two's-complement):最⾼位权重为-2^(w-1)(2)反码(ones' complement):最⾼位权重为-(2^(w-1)-1)(3)原码(sign-magnitude):最⾼位为1表⽰所有其他位权重为负注:(2)(3)中0的表⽰法不唯⼀,有+0和-0两种2.2.4 有符号数和⽆符号数之间的转换(可能)改变数值,但不改变位表⽰1.补码转换为⽆符号数(w位):TMin <= x < 0, T2U(x) = x + 2^w0 <= x <= TMax, T2U(x) = x2.⽆符号数转换为有符号数(w位):0 <= x <= TMax, U2T(x) = xTMax < x <= UMax, U2T(x) = x - 2^w2.2.5 C语⾔中的有符号数和⽆符号数1.数字常量默认为有符号数,加上后缀u或U可创建⽆符号数常量2.类型转换的⽅式:(1)显式:强制类型转换(2)隐式:不同类型变量间赋值3.%d有符号⼗进制,%u⽆符号⼗进制,%o⼋进制,%x⼗六进制4.C语⾔对于同时包含有符号数和⽆符号数的表达式,会隐式地将有符号数转换为⾮负的⽆符号数 1/*2这是⼀个测试函数3注:TMin写成-2147483647-1⽽⾮-21474836484是因为limits.h中定义INT_MIN=-INT_MAX-1,以规避某些奇怪的现象5*/6 #include <cstdio>7using namespace std;89int main(){10 printf("-1 < 0u = %d\n", -1 < 0u);11 printf(" -1 = 0x%x \n", -1);12 printf(" 0u = 0x%x\n\n", 0u);1314 printf("2147483547 > (int)2147483648u = %d\n", 2147483547 > (int)2147483648u);15 printf(" 2147483547 = 0x%x \n", 2147483547);16 printf(" (int)2147483648u = 0x%x\n\n", (int)2147483648u);1718 printf("-2147483647-1u < 2147483647 = %d\n", -2147483647-1u < 2147483647);19 printf(" -2147483647-1u = 0x%x \n", -2147483647-1u);20 printf(" 2147483647 = 0x%x\n\n", 2147483647);2122 printf("-2147483647-1u < -2147483647 = %d\n", -2147483647-1u < -2147483647);23 printf(" -2147483647-1u = 0x%x \n", -2147483647-1u);24 printf(" -2147483647 = 0x%x\n\n", -2147483647);25return0;26 }运⾏结果如下-1 < 0u = 0-1 = 0xffffffff0u = 0x02147483547 > (int)2147483648u = 12147483547 = 0x7fffff9b(int)2147483648u = 0x80000000-2147483647-1u < 2147483647 = 0-2147483647-1u = 0x800000002147483647 = 0x7fffffff-2147483647-1u < -2147483647 = 1-2147483647-1u = 0x80000000-2147483647 = 0x800000012.4 浮点数2.4.1 ⼆进制⼩数2.4.2 IEEE浮点表⽰1.表⽰形式:(1)符号(sign)s: 表⽰+-(2)尾数(significand)M:⼆进制⼩数,取值范围为[1,2)或[0,1)(3)阶码(exponent)E:对浮点数加权,权重为2的E次幂2.编码:s编码符号sign s,exp编码阶码exponent E,frac编码尾数significand M3.三种情况(1)规格化的(noemalized): exp!=00...0 && exp!=11 (1)i. 阶码 E = exp - bias, bias = 2^(k-1)-1, k=exp的位数ii. 尾数 M = 1.xx...x = 1.frac的位(隐含的以1开头的表⽰)(2)⾮规格化的(denormalized): exp == 00 0i. 阶码 E = 1 - bias, bias = 2^(k-1)-1, k=exp的位数ii. 尾数 M = 0.xx...x = 0.frac的位iii.注意:0.0有两种表⽰⽅法+0.0和-0.0,符号位分别为0或1,其他位全部为0(3)特殊值: exp == 11 (1)i. ⽆穷:frac = 00...0, s=0或1表⽰+∞或-∞,能够表⽰溢出的运算结果,如x/0 ii. Nan(not a number): frac != 00...0, 表⽰⾮实数的运算结果,如根号-1,∞-∞4.三种情况的数字分布⾮规格化数字的阶码定义为E=1-bias可以补偿⾮规格化的尾数没有隐含的开头1,有助于数字表⽰的平滑转变;否则,在绝对值最⼤的⾮规格化数字(其⼆进制表⽰为0 00...0 11...1)和绝对值最⼩的规格化数字(其⼆进制表⽰为0 00...01 00...0)之间将存在跳跃2.4.3 数字⽰例1. 处理正浮点数时,若按照⽆符号整数解释他们的⼆进制表⽰,则可以发现它们的⼤⼩顺序不变;负浮点数只需要倒序。
章节名称及代码(ICD-10)E00-E07甲状腺疾患E10-E14糖尿病E15-E16葡萄糖调节和胰腺内分泌的其他疾患E20-E35其他内分泌腺疾患E40-E46营养不良E50-E64其他营养缺乏E65-E68肥胖症和其他营养过度E70-E90代谢紊乱第5章F00-F99精神和行为障碍F00-F09器质性(包括症状性)精神障碍F10-F19使用精神活性物质引起的精神和行为障碍F20-F29精神分裂症、分裂型障碍和妄想性障碍F30-F39心境[情感]障碍F40-F48神经症性、应激相关的以及躯体形式的障碍F50-F59与生理紊乱和躯体因素有关的行为综合征F60-F69成人人格和行为障碍F70-F79精神发育迟缓F80-F89心理发育障碍F90-F98通常在童年租青少年期发病的行为和情绪障碍第6章G00-G99神经系统疾病G00-G09中枢神经系统炎性疾病G10-G14主要影响中枢神经系统的全身性萎缩G20-G26锥体外系和运动疾患G30-G32神经系统的其他变性性疾病G35-G37中枢神经系统的脱髓鞘疾病G40-G47发作性和阵发性疾患G50-G59神经、神经根和神经丛疾患G60-G64多神经病和周围神经系统的其他疾患G70-G73肌神经接点和肌肉疾病G80-G83大脑性瘫痪和其他麻痹[瘫痪] 综合征G90-G99神经系统的其他疾患第7章H00-H59眼和附器疾病H00-H06眼睑、泪器系和眼眶疾患H10-H13结膜疾患H15-H22巩膜、角膜、虹膜和睫状体疾患H25-H28晶状体疾患H30-H36脉络膜和视网膜疾患H40-H42青光眼H43-H45玻璃体和眼球疾患H46-H48视神经和视路疾患H49-H52眼球外肌、双眼运动、调节和屈光疾患H53-H54视觉障碍和盲H55-H59眼和附器的其他疾患第8章H60-H95耳和乳突疾病H60-H62外耳疾病H65-H75非化脓性中耳炎H80-H83内耳疾病H90-H95耳的其他疾患第9章I00-I99循环系统疾病I00-I02急性风湿热I05-I09慢性风湿性心脏病I10-I15高血压病I20-I25缺血性心脏病I26-I28肺源性心脏病和肺循环疾病I30-I52其他类型的心脏病I60-I69脑血管病I70-I79动脉、小动脉和毛细血管疾病I80-I89静脉、淋巴管和淋巴结疾病,不可归类在他处者I95-I99循环系统其他和未特指的疾患第10章J00-J99呼吸系统疾病J00-J06急性上呼吸道感染J09-J18流行性感冒和肺炎J20-J22其他急性下呼吸道感染J30-J39上呼吸道的其他疾病J40-J47慢性下呼吸道疾病J60-J70外部物质引起的肺部疾病J80-J84主要影响间质的其他呼吸性疾病J85-J86下呼吸道化脓性和坏死性情况J90-J94胸膜的其他疾病J95-J99呼吸系统的其他疾病第11章K00-K93消化系统疾病K00-K14口腔、涎腺和颌疾病K20-K31食管、胃和十二指肠疾病K35-K38阑尾疾病K40-K46疝K50-K52非感染性小肠炎和结肠炎K55-K63肠的其他疾病K65-K67腹膜疾病K70-K77肝疾病K80-K87胆囊、胆道和胰腺疾患K90-K93消化系统的其他疾病第12章L00-L99皮肤和皮下组织疾病L00-L08皮肤和皮下组织的感染L10-L14大疱性疾患L20-L30皮炎和湿疹L40-L45丘疹鳞屑性疾患L50-L54荨麻疹和红斑L55-L59与辐射有关的皮肤和皮下组织疾患L60-L75皮肤附件的疾患L80-L99皮肤和皮下组织的其他疾患第13章M00-M99肌肉骨骼系统和结缔组织疾病M00-M03感染性关节炎M00-M25关节病M05-M14炎性多关节病M15-M19关节病M20-M25其他关节疾患M30-M36系统性结缔组织疾患M40-M43变形性背部病M40-M54背部病M45-M49脊椎病M50-M54其他背部病M60-M63肌肉疾患M60-M79软组织疾患M65-M68滑膜和肌腱疾患M70-M79其他软组织疾患M80-M85骨密度和结构的疾患M80-M94骨病和软骨病M86-M90其他骨病M91-M94软骨病M95-M99肌肉骨骼系统和结缔组织的其他疾患第14章N00-N99泌尿生殖系统疾病N00-N08肾小球疾病N10-N16肾小管-间质疾病N17-N19肾衰竭N20-N23尿石病N25-N29肾和输尿管的其他疾患N30-N39泌尿系统的其他疾病N40-N51男性生殖器官疾病N60-N64乳房疾患N70-N77女性盆腔器官炎性疾病N80-N98女性生殖道非炎性疾患N99-N99泌尿生殖系统的其他疾患第15章O00-O99妊娠、分娩和产褥期O00-O08流产结局的妊娠O10-O16妊娠、分娩和产褥期的水肿、蛋白尿和高血压疾患O20-O29主要与妊娠有关的其他孕产妇疾患O30-O48与胎儿和羊膜腔及可能的分娩问题有关的孕产妇医疗O60-O75产程和分娩的并发症O85-O92主要与产褥期有关的并发症O94-O99其他产科情况,不可归类在他处者第16章P00-P96起源于围生期的某些情况P00-P04胎儿和新生儿受母体因素及妊娠、产程和分娩并发症的影响P05-P08与妊娠期长短和胎儿生长有关的疾患P10-P15产伤P20-P29特发于围生期的呼吸和心血管疾患P35-P39特发于围生期的感染P50-P61胎儿和新生儿出血性和血液学疾患P70-P74特发于胎儿和新生儿的暂时性内分泌和代谢疾患P75-P78胎儿和新生儿的消化系统疾患P80-P83累及胎儿和新生儿体被和体温调节的情况P90-P96起源于围生期的其他疾患第17章Q00-Q99先天性畸形、变形和染色体异常Q00-Q07神经系统先天性畸形Q10-Q18眼、耳、面和颈部先天性畸形Q20-Q28循环系统先天性畸形Q30-Q34呼吸系统先天性畸形Q35-Q37唇裂和腭裂Q38-Q45消化系统的其他先天性畸形Q50-Q56生殖器官先天性畸形Q60-Q64泌尿系统先天性畸形Q65-Q79肌肉骨骼系统先天性畸形和变形Q80-Q89其他先天性畸形Q90-Q99染色体异常,不可归类在他处者第18章R00-R99症状、体征和临床与实验室异常所见,不可归类在他处者R00-R09累及循环和呼吸系统的症状和体征R10-R19累及消化系统和腹部的症状和体征R20-R23累及皮肤和皮下组织的症状和体征R25-R29累及神经和肌肉骨骼系统的症状和体征R30-R39累及泌尿系统的症状和体征R40-R46累及认知、知觉、情绪状态和行为的症状和体征R47-R49累及言语和语音的症状和体征R50-R69一般症状和体征R70-R79血液检查的异常所见。