1、负数在单片机上以二进制方式表示。
.负数以其正值的补码形式表达
例子:整数-1
1、先取1的原码:00000000 00000000 00000000 00000001
2、得反码: 11111111 11111111 11111111 11111110
3、得补码: 11111111 11111111 11111111 11111111
总结:
1.反码:将二进制数按位取反
2.补码:反码加1称为补码
3.正零和负零的补码相同,[+0]补=[-0]补=0000 0000B
2、堆、栈、静态区的作用。
1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈
2、堆区(heap) — 一般由程序员分配释放 , 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。
3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域(BSS)。 -程序结束后由系统释放
3、zigbee协议栈框图。