技术术语积累

Posted 行稳方能走远

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了技术术语积累相关的知识,希望对你有一定的参考价值。

目录

ASCII码表

参考地址:https://blog.csdn.net/sinat_28631741/article/details/80961033

ASCII码大致由三部分组成:

1、ASCII 打印字符:数字 32–126 分配给了能在键盘上找到的字符,当您查看或打印文档时就会出现。注:十进制32代表空格 ,十进制数字 127 代表 DELETE 命令。下面是ASCII码和相应数字的对照表:

2、ASCII 非打印控制字符:ASCII 表上的数字 0–31 分配给了控制字符,用于控制像打印机等一些外围设备。例如,12 代表换页/新页功能。此命令指示打印机跳到下一页的开头。

3、扩展 ASCII 打印字符:扩展的 ASCII 字符满足了对更多字符的需求。扩展的 ASCII 包含 ASCII 中已有的 128 个字符(数字 0–32 显示在下图中),又增加了 128 个字符,总共是 256 个。即使有了这些更多的字符,许多语言还是包含无法压缩到 256 个字符中的符号。因此,出现了一些 ASCII 的变体来囊括地区性字符和符号。

C语言基本数据类型

参考:语言基本数据类型

针对不同的数据,采取不同的存储方式和进行不同的处理。随着处理对象的复杂化,数据类型也要变得更丰富。数据类型的丰富程度直接反映了程序设计语言处理数据的能力。

C语言很重要的一个特点是它的数据类型十分丰富。因此,C语言程序数据处理功能很强。C语言丰富的数据类型可归纳如下:

整型变量

整数类型数据即整型数据,整型数据没有小数部分的数值。整型数据可分为:基本型、短整型、长整型和无符号型四种。
基本型:以int表示。
短整型:以short int表示。
长整型:以long int表示。
无符号型:存储单元中全部二进位用来存放数据本身,不包括符号。无符号型中又分为无符号整型、无符号短整型和无符号长整型,分别以unsigned int,unsigned short和unsigned long表示。
要注意的是,不同的计算机体系结构中这些类型所占比特数有可能是不同的,下面列出的是32位机中整型家族各数据类型所占的比特数。

虽然int与unsigned int所占的位数一样,但int的最高位用作了符号位,而unsigned int的最高位仍为数据位,所以它们的取值范围不同。
若要查看适合当前计算机的各数据类型的取值范围,可查看文件“limits.h”(通常在编译器相关的目录下),如下是“limits.h”的部分示例。

#define CHAR_BIT      8         /* number of bits in a char */
#define SCHAR_MIN   (-128)      /* minimum signed char value */
#define SCHAR_MAX     127       /* maximum signed char value */
#define UCHAR_MAX     0xff      /* maximum unsigned char value */

#ifndef _CHAR_UNSIGNED
#define CHAR_MIN    SCHAR_MIN   /* mimimum char value */
#define CHAR_MAX    SCHAR_MAX   /* maximum char value */
#else
#define CHAR_MIN      0
#define CHAR_MAX    UCHAR_MAX
#endif  /* _CHAR_UNSIGNED */

#define MB_LEN_MAX    2             /* max. # bytes in multibyte char */
#define SHRT_MIN    (-32768)        /* minimum (signed) short value */
#define SHRT_MAX      32767         /* maximum (signed) short value */
#define USHRT_MAX     0xffff        /* maximum unsigned short value */
#define INT_MIN     (-2147483647 - 1) /* minimum (signed) int value */
#define INT_MAX       2147483647    /* maximum (signed) int value */
#define UINT_MAX      0xffffffff    /* maximum unsigned int value */
#define LONG_MIN    (-2147483647L - 1) /* minimum (signed) long value */
#define LONG_MAX      2147483647L   /* maximum (signed) long value */
#define ULONG_MAX     0xffffffffUL  /* maximum unsigned long value */

在嵌入式开发中,经常需要考虑的一点就是可移植性的问题。通常,字符是否为有符号数会带来两难的境地,因此,最佳妥协方案就是把存储于int型变量的值限制在signed int和unsigned int的交集中,这可以获得最大程度上的可移植性,同时又不牺牲效率。

整型常量

C语言整型数据一般有十进制整数、八进制整数和十六进制整数三种表达形式。说明如下。

  • 十进制整数的表示与数学上的表示相同,例如:256,-321,0
  • 八进制整数的表示以数字0开头,例如:0234表示八进制整数(234)8,所对应的十进制数为 。2×82+3×81+4×80=156。
  • 十六进制整数的表示以0x开头,例如:0×234表示十六进制整数(234)16。(应当注意的是十六进制数前导字符0x,x前面是数字(0)。

在一个整型数据后面加一个字母L或l(小写),则认为是long int型量。如342L、0L、78L等,这往往用于函数调用中。如果函数的形参为long int型,则要求实参也为long int型,此时需要用342L作实参。

实数(浮点)类型

1.实数(浮点)变量

实型变量又可分为单精度(float)、双精度(double)和长双精度(long double)3种。列出的是常见的32位机中实型家族各数据类型所占的比特数。


要注意的是,这里的有效数字是指包括整数部分+小数部分的全部数字总数。
小数部分所占的位(bit)越多,数的精度就越高;指数部分所占的位数越多,则能表示的数值范围就越大。下面程序就显示了实型变量的有效数字位数。

#include<stdio.h>
int main()

	float a;
	double b;
	a = 33333.33333;
	b = 33333.333333;
	printf(" a = %f , b = %lf \\n" , a , b );
 return 0;

程序执行结果如下:

a=33333.332031 , b=33333.333333

可以看出,由于a为单精度类型,有效数字长度为7位,因此a的小数点后4位并不是原先的数据而由于b为双精度类型,有效数字为16位,因此b的显示结果就是实际b的数值。

实型(浮点)常量

在C语言程序设计中,实型数据有以下两种表达形式。

  • 十进制数形式。由正负号、数字和小数点组成。如5.734、一0.273、0.8、一224等都是十进制数形式。
  • 指数形式。如546E+3或546E3都代表546×10 3。字母E(或e)之前必须有数字,E(或e)后面的指数必须为整数。
    E8、4.6E+2.7、6e、e、9E7.5都是不合法的指数形式;
    5.74E-7、-3E+6是合法的指数形式实型常量。

字符变量

字符变量可以看作是整型变量的一种,它的标识符为“char”,一般占用一个名节(8bit),它也分为有符号和无符号两种,读者完全可以把它当成一个整型变量。当它用于存储字符常量时,实际上是将该字符的ASCⅡ码值(无符号整数)存储到内存单元中


实际上,一个整型变量也可以存储一个字符常量,而且也是将该字符的ASCH码值(无符号整数)存储到内存单元中。但由于取名上的不同,字符变量则更多地用于存储字符常量。以下一段小程序显示了字符变量与整型变量实质上是相同的。

#include<stdio.h>
int main()

	char a,b;
	int c,d;
/*赋给字符变量和整型变量相同的整数常量*/
	a=c=65;
/*赋给字符变量和整型变量相同的字符常量*/
	b=d='a';
/*以字符的形式打印字符变量和整型变量*/
	printf("char a=%c,int c = %c", a,c);
/*以整数的形式打印字符变量和整型变量*/
	printf("char b=%d,int d=%d\\n",b,d);
return 0;

程序执行结果如下:

char a=A,int c=A;
char b=97,int d=97;

由此可见,字符变量和整型变量在内存中存储的内容实质是一样的。

字符常量

字符常量是指用单引号括起来的一个字符,如:‘a’,‘5’,‘?’ 等都是字符常量。以下是使用字符常量时容易出错的地方,请读者仔细阅读。

  • 字符常量只能用单引号括起来,不能用双引号或其他括号。
  • 字符常量只能是单个字符,不能是字符串。
  • 字符可以是字符集中任意字符。但数字被定义为字符型之后就不能参与数值运算。如’5’和5是不同的。‘5’是字符常量,不能直接参与运算,而只能以其ASCⅡ码值(053)来参与运算。

除此之外,C语言中还存在一种特殊的字符常量——转义字符。转义字符以反斜线“\\”开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。
例如,在前面各例题printí函数的格式串中用到的“\\n”就是一个转义字符,其意义是“回车换行”。转义字符主要用来表示那些用一般字符不便于表示的控制代码。
常见的转义字符以及它们的含义。

‘0’ 的ASCII码 48,‘A’ 的ASCII码 65,‘a’ 的ASCCII码 97

token、Docker

Docker:https://zhuanlan.zhihu.com/p/510757832

Token:https://www.cnblogs.com/xiaozhijia/p/16216845.html

token有多种意思:1、作为计算机术语时,是指令牌,是一种能够控制站点占有媒体的特殊帧,以区别数据帧及其他控制帧;

1、作为计算机术语时,是“令牌”的意思

token是计算机术语:令牌,令牌是一种能够控制站点占有媒体的特殊帧,以区别数据帧及其他控制帧。token其实说的更通俗点可以叫暗号,在一些数据传输之前,要先进行暗号的核对,不同的暗号被授权不同的数据操作。基于 Token 的身份验证方法

使用基于 Token 的身份验证方法,在服务端不需要存储用户的登录记录。大概的流程是这样的:

1.客户端使用用户名跟密码请求登录

2.服务端收到请求,去验证用户名与密码

3.验证成功后,服务端会签发一个 Token,再把这个 Token 发送给客户端

4.客户端收到 Token 以后可以把它存储起来,比如放在 Cookie 里或者 Local Storage 里

5.客户端每次向服务端请求资源的时候需要带着服务端签发的 Token

6.服务端收到请求,然后去验证客户端请求里面带着的 Token,如果验证成功,就向客户端返回请求的数据

POSIX

POSIX表示可移植操作系统接口(Portable Operating System Interface of UNIX,缩写为 POSIX ),POSIX标准定义了操作系统应该为应用程序提供的接口标准。

POSIX标准意在期望获得源代码级别的软件可移植性。换句话说,为一个POSIX兼容的操作系统编写的程序,应该可以在任何其它的POSIX操作系统(即使是来自另一个厂商)上编译执行。

简单总结:
完成同一功能,不同内核提供的系统调用(也就是一个函数)是不同的,例如创建进程,linux下是fork函数,windows下是creatprocess函数。好,我现在在linux下写一个程序,用到fork函数,那么这个程序该怎么往windows上移植?我需要把源代码里的fork通通改成creatprocess,然后重新编译…

posix标准的出现就是为了解决这个问题。linux和windows都要实现基本的posix标准,linux把fork函数封装成posix_fork(随便说的),windows把creatprocess函数也封装成posix_fork,都声明在unistd.h里。这样,程序员编写普通应用时候,只用包含unistd.h,调用posix_fork函数,程序就在源代码级别可移植了。

为什么IP数据报使用分片偏移来标识分段,而不直接采用序号

你要理解在什么情况下IP报文会进行分片。IP报文不是在发送方主机上进行分片的,而是在路由器上进行分片。

发送一个IP报文,可能经过多个路由器,两两路由器之间是不同的物理网络,这些物理网络能支持的最大报文长度(MTU)是不同的。当一个较大的报文发送到MTU较小的网络上时,路由器就会对这个报文进行分片。到了下一跳路由器不会立即对分片报文重组,因为后续还有可能经过MTU较小的网络,而是留给接受方主机进行重组。

假设报文分片时用的是序号,一个1500字节的报文发到一个MTU=620的网络上,路由器把它分成3片,序号分别是0、1、2。然后分片报文到达下一个路由器,发现下一段网络MTU=256,需要把0号分片再分成3片。这时就会发现,如果上一跳分片不是连续编号就好了,上一跳序号是0、3、6的话,现在就可以把第0片分成0、1、2三片了。

这样,如果不是用连续的序号表示分片,而是用偏移来表示,就可以完美的解决这个问题。

以上是关于技术术语积累的主要内容,如果未能解决你的问题,请参考以下文章

js正则表达式的积累

计算机术语对照表

例谈数学的积累

markdown 无料で暗号资产(暗号通货)をもらって増やす方法

超级黑科技代码!Python打造电脑人脸屏幕解锁神器附带接头暗号

一般安全机制