标签:lse 宽度 sdn 执行 padding #define 字节 border alt
0和1的意义:
在计算机中0和表示逻辑电路的开关,其中1为闭合,0为断开.
0和1可以用来表示计算机中的所有数据,如颜色,图片,视频,可执行程序,如可用由32个0组成的000000000000000000~表示白色;
二进制:
2进制中的一位为一个比特,8个比特组成一个一个字节;
二进制与十进制的转换:
二进制->十进制:A2A1A0=A0*2^0+A1*2^1+A2*2^2;
十进制->二进制:短除法, 将10进制数除以2以及所得得商除以2所得余数组成,例如:10->2 10/2=5(余)0,5/2=1(余)1,1/2=0(余)1,则对应二进制为:110
变量:
程序运行时会给变量分配内存空间,访问这个变量名字实际就是访问这个内存空间
变量的类型以及范围:
参考:https://blog.csdn.net/a775992553/article/details/8790241
机器字长:是指计算机进行一次整数运算所能处理的二进制数据的位数(整数运算即定点整数运算)。机器字长也就是运算器进行定点数运算的字长,通常也是CPU内部数据通路的宽度。现在一般为32位即4个字节,也有64位和16位的。
算术类型的存储空间按照机器而定。一般,short类型为半个机器字长,int为一个机器字长,long为1或2个机器字长,float为一个机器字长,double为两个字,long double用3或4个字长。C++标准规定的是每个算术类型的最小存储空间,但其并不阻止编译器用更大的存储空间。如果要保证移植性,尽量用__int16 __int32 __int64吧,或者自己typedef int INT32一下。
数据类型名称 | 字节数 | 别名 | 取值范围 |
int | * | signed,signed int | 由操作系统决定,即与操作系统的"字长"有关 |
unsigned int | * | unsigned | 由操作系统决定,即与操作系统的"字长"有关 |
__int8 | 1 | char,signed char | –128 到 127 |
__int16 | 2 | short,short int,signed short int | –32,768 到 32,767 |
__int32 | 4 | signed,signed int | –2,147,483,648 到 2,147,483,647 |
__int64 | 8 | 无 | –9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 |
bool | 1 | 无 | false 或 true |
char | 1 | signed char | –128 到 127 |
unsigned char | 1 | 无 | 0 到 255 |
short | 2 | short int,signed short int | –32,768 到 32,767 |
unsigned short | 2 | unsigned short int | 0 到 65,535 |
long | 4 | long int,signed long int | –2,147,483,648 到 2,147,483,647 |
long long | 8 | none (but equivalent to __int64) | –9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 |
unsigned long | 4 | unsigned long int | 0 到 4,294,967,295 |
enum | * | 无 | 由操作系统决定,即与操作系统的"字长"有关 |
float | 4 | 无 | 3.4E +/- 38 (7 digits) |
double | 8 | 无 | 1.7E +/- 308 (15 digits) |
long double | 8 | 无 | 1.7E +/- 308 (15 digits) |
wchar_t | 2 | __wchar_t | 0 到 65,535 |
(P:指针的大小为定值4个字节)
32位机器环境下结果如下:
Type |
Size |
数值范围 |
无值型void |
0 byte |
无值域 |
布尔型bool |
1 byte |
true false |
有符号短整型short [int] /signed short [int] |
2 byte |
-32768~32767 |
无符号短整型unsigned short [int] |
2 byte |
0~65535 |
有符号整型int /signed [int] |
4 byte |
-2147483648~2147483647 |
无符号整型unsigned [int] |
4 byte |
0~4294967295 |
有符号长整型long [int]/signed long [int] |
4 byte |
-2147483648~2147483647 |
无符号长整型unsigned long [int] |
4 byte |
0~4294967295 |
long long |
8 byte |
0~18446744073709552000 |
有符号字符型char/signed char |
1 byte |
-128~127 |
无符号字符型unsigned char |
1 byte |
0~255 |
宽字符型wchar_t (unsigned short.) |
2 byte |
0~65535 |
单精度浮点型float |
4 byte |
-3.4E-38~3.4E+38 |
双精度浮点型double |
8 byte |
1.7E-308~1.7E+308 |
long double |
8 byte |
具体类型的长度可用sizeof进行查看.
有符号整数计算:把最高位看作符号位
符号位为0:非负数,其余为即使这个整数的绝对值
符号位为1:负数,其余位数等于这个整数的先取绝对值后加1; 先取绝对值->取反->加1
-1, 1000 0001, 1111 1110, 1111 1111
-2, 1000 0010, 1111 1101, 1111 1110
-3, 1000 0011, 1111 1100, 1111 1101
-4, 1000 0100, 1111 1011, 1111 1100
-5, 1000 0101, 1111 1010, 1111 1011
常量定义:#define
输入输出:
\""表示双引号,
标签:lse 宽度 sdn 执行 padding #define 字节 border alt
原文地址:https://www.cnblogs.com/Dar-/p/9100328.html