请问用主流编程语言(C++、C#、JAVA、Python等)实现负数转换成补码时进位逻辑
2条回答 默认 最新
- 摸鱼人生 2021-11-05 20:56关注
都说开会员有专家24小时内解答,这都两天了,算了!
自问自答吧:负数补码,是反码加1,负数进位是从二进制最最末端考虑,逢0变1结束,逢1变0看前位;
有两种思路:
一、采用多个数组,用反码数组,作比较,来改变补码数组的状态;
二、一个数组时,采用冒泡排序思路,倒叙比较;
代码如下:C语言实现思路一: for(int i=7;1>0;i--){ if(arr2[i]==0){ arr3[i]==1; break; }else{ arr3[i]==1; } }
C语言实现思路二: arrays_length=7; if(*(array + arrays_length)==0){ *(array + arrays_length)=1; } else if(*(array + arrays_length)==1){ for (int i = arrays_length; i >0 ; i--) { if(array[i]==1&&array[i-1]==0){ *(array + i)=0; *(array + i-1)=1; break; } else if(array[i]==1&&array[i-1]==1){ *(array + i)=0; *(array + i-1)=0; } else if(array[i]==0&&array[i-1]==1){ *(array + i)=0; *(array + i-1)=0; }else if(array[i]==0&&array[i-1]==0){ *(array + i)=0; *(array + i-1)=1; break; } } }
解决 无用评论 打赏 举报
悬赏问题
- ¥50 这Mac系统提示虚拟内存不足,怎么解决
- ¥15 Rs232电路无法收发数据,求帮助
- ¥15 百度cookie扫码登录器
- ¥15 微机原理汇编语言debug调试实验
- ¥23 matlab可以把相图转换为庞加莱映射吗
- ¥20 有偿,学生成绩信息管理系统
- ¥15 Arduino电机和openmv连接异常
- ¥15 Arcgis河网分级报错
- ¥200 java+appium2.1+idea
- ¥20 请帮我做一个EXE的去重TXT文本