![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
[C语言]
文章平均质量分 63
唐火
开始人工智能之路了!!!
展开
-
关于-32768补码的问题
首先要知道的是计算机中补码的表示是唯一且连续的!我想这是计算机为什么不用原码来表示的一个原因!另外,以补码形式来运算的话,设计的逻辑电路会简单很多,会少很多逻辑运算器件,所以计算机采用补码的形式来运算。比如说:0的原码有两种+0 = 00000000 00000000;-0 = 10000000 00000000;而补码只有一种:00000000 00000000;怎么求补码呢!最简单的是符号位不变其他位换号再加1;注意:加1的时候符号位参与运算,如果最高位有溢出则舍去!例: - 0的补码:原原创 2021-10-11 13:00:00 · 3321 阅读 · 2 评论 -
整数的二进制存储问题(以 short 和 unsigned short 为例)
#include <iostream>using namespace std;int main(){ short i1 = 32767; short i2 = 32768; short i3 = 32769; short i4 = -32768; short i5 = -32769; cout << i1 << endl; //32767 cout << i2 << endl; //-32768 cout <&l原创 2021-10-11 12:57:22 · 2367 阅读 · 0 评论 -
[C语言] va_start和va_end详解
在C中,当无法列出传递函数的所有实参的类型和数目时,可以用省略号指定参数表。例如:void foo(...);void foo(parm_list,...);函数参数的传递原理函数参数是以栈的形式存取,从右至左入栈。参数的内存存放格式:参数存放在内存的堆栈段中,在执行函数的时候,从最后一个开始入栈。因此栈底高地址,栈顶低地址,举个例子如下:void func(int x, float y, char z);那么,调用函数的时候,实参 char z 先进栈,然后是 float y.转载 2021-08-13 00:26:03 · 699 阅读 · 0 评论