- 博客(50)
- 收藏
- 关注
原创 为什么原码和反码的0有正负之分,补码和移码的0只有一种表示方法,但移码和补码的表示范围却多1
(n\)位移码的范围为 (0) 到 (2^n-1),对应原值范围 (-2^{n-1}) 到 (+(2^{n-1}-1)),共 (2^n) 个数。n位原码/反码的范围为 (-(2^{n-1}-1)) 到 (+(2^{n-1}-1)),共 (2^n-1) 个数(因存在两个0)。关键优势:消除冗余的-0,将原本用于-0的编码(如8位的10000000)分配给最小的负数(如-128),从而扩展数值范围。n位补码的范围为 (-2^{n-1}) 到 (+(2^{n-1}-1)),共 (2^n) 个数。
2025-03-25 19:13:11
422
原创 2.20练习错题
i的初始值为0,i--结果-1,i为整形,sizeof(i)求i类型大小是4,按照此分析来看,结果应该选择B,但是sizeof的返回值类型实际为无符号整形,因此编译器会自动将左侧i自动转换为无符号整形的数据,-1对应的无符号整形是一个非常大的数字,超过4或者8,故实际应该选择A。int占4个字节,指针表示地址空间个数,总共有2^32个,故占4个字节。C.32位下:4,4,2^32 64位下:4,8,2^64。D.32位下:4,4,2^32 64位下:4,4,2^64。五、计算一个数的每位之和(递归实现)
2025-02-20 15:29:20
444
原创 Visual Studio 调试艺术:程序员的错误捕猎指南
当遇到棘手问题时,尝试切换调试视角:从代码流转向数据流,从单线程转向多线程,从源码层转向二进制层,往往能打开新的突破口。编译型错误⼀般都是语法错误,这类错误⼀般看错误信息就能找到⼀些蛛丝马迹的,双击错误信息也 能初步的跳转到代码错误的地方或者附近。在函 数调用的地方,想进入函数观察细节,必须使用F11,如果使用F10,直接完成函数调用。F10:逐过程,通常用来处理⼀个过程,⼀个过程可以是⼀次函数调用,或者是⼀条语句。运行时错误,是千变万化的,需要借助调试,逐步定位问题,调试解决的是运行时问题。
2025-02-20 13:01:29
742
原创 C语言:函数的使用
判断闰年 实现一个函数is_prime,判断一个数是不是素数。 打印每个月多少天 打印每个月多少天 二分查找 多个字符从两端移动,向中间汇聚
2024-11-22 14:02:51
399
原创 数组 X形图案 空心正方形 矩阵转置 逆序输出 有序序列合并
BC68X形图案 空心正方形图案描述 BC107矩阵转置 BC92逆序输出 BC100有序序列合并 【一维数组】输入10个整数,求平均值 【一维数组】交换数组
2024-11-16 19:35:11
902
原创 计组笔记四 浮点数的规格化 浮点数的运算
5、例:一浮点数的阶码(E)为6位(包括一位阶符),尾数(M)为10位(包括一位数符),阶码与尾数均采用补码表示,阶码的底为2。例题:x= (-5/8)*2^(-5) y=7/8*2^(-4)求x-y阶码数值位取3位,尾数数值位取6位,均用补码表示。[x阶]补 - [y阶]补=[x阶]补 + [-y阶]补=11,011 + 00,100 =11,111。例如:10.xxxx需进行右归,位数右移一位,阶码加1,添符号位的1补齐,得11.0xxx。[x]补: 11,100;x的阶码+1,右归(阶码:左减右加)
2024-11-09 23:34:03
710
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人