摸鱼人生 2021-11-02 17:24 采纳率: 0%
浏览 57
已结题

编程语言实现负数转换成补码的进位逻辑

请问用主流编程语言(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;
                            }
                        }
                    }
    
    评论

报告相同问题?

问题事件

  • 系统已结题 11月10日
  • 修改了问题 11月2日
  • 创建了问题 11月2日

悬赏问题

  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境
  • ¥30 关于#java#的问题,请各位专家解答!
  • ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
  • ¥20 pcf8563时钟芯片不启振