计算机基础
wssjn1994
这个作者很懒,什么都没留下…
展开
-
关于计算机如何实现减法操作
电脑内部,所有的运算都是加法。 首先,计算机把数转换成二进制。把减数取补码(就是按位把0换成1,把1换成0)后加1,再相加。转载 2018-10-11 10:09:19 · 4806 阅读 · 0 评论 -
变量的存储方式
在c/c++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。栈:就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。堆:就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。自由存...转载 2018-10-23 09:29:12 · 698 阅读 · 2 评论 -
大小端问题
int main(){ unsigned int a= 0x1234; unsigned char b=*(unsigned char *)&a; printf("%x\n" , b); return 0;}问在32位大端模式处理器上变量b等于多少?解:首先看*(unsigned char *)&a,这表示先取a的地址然后强制转换成char的指针,然后求指...原创 2019-01-02 11:32:01 · 726 阅读 · 0 评论 -
设有4个元素abcd按顺序进栈,问出栈有多少种情况
这是李春葆的数据结构中的第三章栈结构的习题。 总共14种 首先栈是一个先入后出的结构。 假设D先出栈,只有可能是ABCD进栈,DCBA出 假设C先出栈,就是ABC进栈,C出,然后考虑AB是否出和D是否进的情况 若A出B不出,那么A出后D就要进,则为CADB 若A出B出,那么B出后D再进,则为CABD 若D先进再考虑A和B的话则只有一种情况,CDBA 以此类推 答案:abcd ...原创 2019-07-17 10:06:33 · 41213 阅读 · 6 评论