草庐IT

Unsigned

全部标签

c++ - unsigned int 与 size_t

我注意到现代C和C++代码似乎几乎无处不在使用size_t而不是int/unsignedint-从C的参数到STL的字符串函数。我很好奇这样做的原因及其带来的好处。 最佳答案 size_t类型是无符号整数类型,它是sizeof运算符(和offsetof运算符)的结果,所以它是保证足够大以包含系统可以处理的最大对象的大小(例如,8Gb的静态数组)。size_t类型可能大于、等于或小于unsignedint,您的编译器可能会对其进行优化假设。您可以在C99标准的第7.17节中找到更准确的信息,该标准的草稿可在Internet上的pdf中

c++ - unsigned int 与 size_t

我注意到现代C和C++代码似乎几乎无处不在使用size_t而不是int/unsignedint-从C的参数到STL的字符串函数。我很好奇这样做的原因及其带来的好处。 最佳答案 size_t类型是无符号整数类型,它是sizeof运算符(和offsetof运算符)的结果,所以它是保证足够大以包含系统可以处理的最大对象的大小(例如,8Gb的静态数组)。size_t类型可能大于、等于或小于unsignedint,您的编译器可能会对其进行优化假设。您可以在C99标准的第7.17节中找到更准确的信息,该标准的草稿可在Internet上的pdf中

golang、mysql、proto3数据类型对照表

goproto3mysqlfloat64doubledoubleprecisionfloat32floatdoubleprecisionint32int32sint32sfixed32integerint64int64sint64sfixed64bigintuint32uint32fixed32integerunsigneduint64uint64fixed64bigintunsignedboolboolboolstringstringvarcharlongtext[]bytebytestinyintunsigendtime.Timedatetimebytetinyintunsigned

golang、mysql、proto3数据类型对照表

goproto3mysqlfloat64doubledoubleprecisionfloat32floatdoubleprecisionint32int32sint32sfixed32integerint64int64sint64sfixed64bigintuint32uint32fixed32integerunsigneduint64uint64fixed64bigintunsignedboolboolboolstringstringvarcharlongtext[]bytebytestinyintunsigendtime.Timedatetimebytetinyintunsigned

2022-2-23作业

一、通过操作Cortex-A7核,串口输入相应的命令,控制LED灯进行工作1.例如在串口输入led1on,开饭led1灯点亮2.例如在串口输入led1off,开饭led1灯熄灭3.例如在串口输入led2on,开饭led2灯点亮4.例如在串口输入led2off,开饭led2灯熄灭5.例如在串口输入led3on,开饭led3灯点亮6.例如在串口输入led3off,开饭led3灯熄灭二、检测中断到来时,让LED灯状态取反,并且在串口工具上打印一句话例如:当按键1按下之后,让LED1状态取反,并打印“LED1down”        当按键2按下之后,让LED2状态取反,并打印“LED2down”  

2022-2-23作业

一、通过操作Cortex-A7核,串口输入相应的命令,控制LED灯进行工作1.例如在串口输入led1on,开饭led1灯点亮2.例如在串口输入led1off,开饭led1灯熄灭3.例如在串口输入led2on,开饭led2灯点亮4.例如在串口输入led2off,开饭led2灯熄灭5.例如在串口输入led3on,开饭led3灯点亮6.例如在串口输入led3off,开饭led3灯熄灭二、检测中断到来时,让LED灯状态取反,并且在串口工具上打印一句话例如:当按键1按下之后,让LED1状态取反,并打印“LED1down”        当按键2按下之后,让LED2状态取反,并打印“LED2down”  

Redis 原理 - List

List数据结构Redis3.2前,使用压缩列表zipList或双向链表linkedList当同时满足下面两个条件时,使用zipList存储数据list保存的每个元素长度小于64字节列表中数据个数少于512个Redis3.2及之后的底层实现方式:quickListquickList是一个基于zipList的双向链表,quickList的每个节点都是一个zipList,结合了双向链表和zipList的优点双向链表就不多说了,就是基础的数据结构压缩列表(zipList)structziplist{int32zlbytes;//整个压缩列表占用字节数int32zltail_offset;//最后一个

Redis 原理 - List

List数据结构Redis3.2前,使用压缩列表zipList或双向链表linkedList当同时满足下面两个条件时,使用zipList存储数据list保存的每个元素长度小于64字节列表中数据个数少于512个Redis3.2及之后的底层实现方式:quickListquickList是一个基于zipList的双向链表,quickList的每个节点都是一个zipList,结合了双向链表和zipList的优点双向链表就不多说了,就是基础的数据结构压缩列表(zipList)structziplist{int32zlbytes;//整个压缩列表占用字节数int32zltail_offset;//最后一个

Linux 0.11源码阅读笔记-内存管理

内存管理Linux内核使用段页式内存管理方式。内存池物理页:物理空闲内存被划分为固定大小(4k)的页内存池:所有空闲物理页组成内存池,以页为单位进行分配回收。并通过位图记录了每个物理页是否空闲,位图下标对应物理页号。分页内存管理虚拟页:进程虚地址空间被划分为固定大小(4k)的页分页内存管理:通过页目录和页表维护进程虚拟页号到物理页号的映射。设置好页目录、页表之后,虚拟地址到物理地址之间的转换通过内存管理单元(MMU)自动完成转换。若访问的虚拟页没有实际分配物理页,则放生缺页中断,内核会为其分配物理页。分段内存管理分段:进程虚地址空间被划分为多个逻辑段,代码段、数据段、栈段等,每个段有一个段号。

Linux 0.11源码阅读笔记-内存管理

内存管理Linux内核使用段页式内存管理方式。内存池物理页:物理空闲内存被划分为固定大小(4k)的页内存池:所有空闲物理页组成内存池,以页为单位进行分配回收。并通过位图记录了每个物理页是否空闲,位图下标对应物理页号。分页内存管理虚拟页:进程虚地址空间被划分为固定大小(4k)的页分页内存管理:通过页目录和页表维护进程虚拟页号到物理页号的映射。设置好页目录、页表之后,虚拟地址到物理地址之间的转换通过内存管理单元(MMU)自动完成转换。若访问的虚拟页没有实际分配物理页,则放生缺页中断,内核会为其分配物理页。分段内存管理分段:进程虚地址空间被划分为多个逻辑段,代码段、数据段、栈段等,每个段有一个段号。