因为Acwing的Markdown好像不支持表格,所以这里我只是截了个图
如果要直接复制数据,可以跳转到我的博客传送门
long long内的最大阶乘$20!$
int内的最大阶乘$12!$
long和int的大小跟系统位数有关
- 16位系统:long是4字节,int是2字节
- 32位系统:long是4字节,int是4字节
- 64位系统:long是8字节,int是4字节
时间复杂度 > 空间复杂度
- 申请25万大小的vector[HTML_REMOVED]型数组大约需要1MB内存
- 具有4GB内存的电脑可以开$10^9$的int型数组
- 1s内C++只能计算$10^7$次左右
- 一般情况下时间复杂度比空间复杂度更加重要
memset常用赋值
头文件 <cstring>
memset(f, 0, sizeof(f));
- 0
- -1
- 0x3f(正无穷 1,061,109,567)
- -0x3f(负无穷 -1,044,266,559)
其他小常识
int: -$2^{31}$ ~ $2^{31}$- 1 $2*10^9$
long long: -$2^{63}$ ~ $2^{63}$- 1 $9 * 10 ^ {18}$
$log 10^n\approx4n$
$log 10^6\approx24$
你好,0x3f应该是63,你写错了
不太清楚是不是我没有理解您的意思
memset是给每一个字节赋相同的值 0x3f,对于 int 来说,其有四个字节,赋值后应为 0x3f3f3f3f
你可以查一下memset的定义,前面那位@mmporzy 同学解释的是正确的,博主分享的也是正确的。
这是真的强啊!
大佬,那unsigned int 和 int 还有别的区别嘛?
int在二进制中第一位是符号位,代表这个数是正数还是负数,unsigned int则没有符号位,表示都是正数,所以因为unsigned int少了一位去表示正负,unsigned int的最大值就是int的两倍了