首页 > 其他分享 >原码转补码反码

原码转补码反码

时间:2023-10-22 09:44:05浏览次数:26  
标签:反码 cout 补码 else fam 原码

#include <bits/stdc++.h> 
using namespace std;
string a;int c=0;
void fam(){
	if(a[0]=='0'){
		cout<<a;
	}else{
		cout<<'1';
		for(int i=1;i<a.size();i++){
			if(a[i]=='0'){
				cout<<'1';
			}else{
				cout<<'0';
			}
		}
	}
}
int bu(){
	if(a[0]=='0'){
		cout<<a;
	}else{
		for(int i=1;i<a.size();i++){
			if(a[i]=='0'){
				a[i]='1';
			}else{
				a[i]='0';
			}
		}
		for(int i=0;i<a.size();i++){
			if(a.substr(i,i+1)=="1"){
				c=1;
			}else{
				c=0;
				break;
			}
		}
		if(c==1){
			cout<<"11";
			for(int i=1;i<a.size();i++){
				cout<<"0";
			}
			return 0;
		}else{
			for(int i=a.size()-1;i>=1;i--){
				if(a[i]=='0'){
					a[i]='1';
					break;
				}else{
					a[i]='0';
				}
			}
		}
		cout<<a;
	}		
}
int main(int argc, char** argv) {
	int b;
	cout<<"1 反码 2 补码"; 
	cin>>b>>a;
	if(b==1){
		fam();
	}else if(b==2){
		bu();
	}
	return 0;
}

  

标签:反码,cout,补码,else,fam,原码
From: https://www.cnblogs.com/As10016/p/17779934.html

相关文章

  • 原码转反补码
    #include<iostream>usingnamespacestd;intmain(){ stringstr; chart; booljinwei=true; booltf; cin>>str>>t; if(str[0]=='0'&&t=='f'){ cout<<str; }elseif(str[0]=='1'&&t==&#......
  • 原码、反码、补码学习
    Java没有无符号数,所以首位都是符号位标志位0表示正数,1表示负数原码是数字的二进制表示,首位为符号位数字的表示用原码,计算用补码(因为计算机只有加法器,减法转换为加法)正数的原码=反码=补码(三码合一)负数反码=原码符号位不变,其余取反负数的补码=反码+10的补码=0000......
  • 原码, 反码, 补码
    原码,反码,补码原码:十进制数据的二进制表现形式,最左边是符号位,0为正,1为负.原码的弊端:1,利用原码进行计算的时候,如果是整数完全没有问题.2,但是如果是负数计算,结果就出错,实际运算的方向,跟正确的运算方向是相反的.反码出现的目的:为了解决原码不能计算负数......
  • 计算32位二进制整数中1的个数(包括负数补码)
    引言:在计算机科学和编程中,位操作是一项重要的技能。一个常见的任务是计算一个32位二进制整数中1的个数,包括负数的补码表示。这个问题有多种解决方法,本博客将介绍一种高效的解决方案,同时提供详细的代码案例。背景知识:在正整数的二进制表示中,1的个数表示了这个数的二进制形式中有多少......
  • 求一个整形整数原码中1的个数(不考虑溢出)
    intmain(){ unsignedinta=0; intcount=0; printf("请输入要求的整数>>:"); scanf("%d",&a); while(a) { if(a%2) { count++; } a=a/2; } printf("该数中二进制位为1的位数为%d",count); return0;}intmain(){......
  • 原码
    3.5原码,反码,补码在二进制的编码过程中分为原码,反码,补码。原码是计算机对数字二进制定点表示方法。原码表示法在数值前面增加了符号位(即最高位为符号位):0代表正,1代表负。原码在计算机内部不能直接进行计算。反码是数值存储的一种,多应用于系统环境设置。补码是计算机中数字存储的常......
  • 【有符号数】原码,反码,补码表示法
     1.原码......
  • 补码与反码(附运算优先级)
    2023-08-3016:56:00我们都知道在计算机存储的时候,有符号的数都会用最高位作为符号位。参考:什么是原码、反码和补码原码就是正常的二进制数,把最高位改成符号位(0为正数,1为负数)。正数计算不会有问题:5+2:00000101+0010-----------------00000111......
  • 补码和移码
       ......
  • JavaSE(2)(简单了解idea, 项目结构,运算符,数据转换,原反补码)
    JavaSE(2)(简单了解idea,项目结构,运算符,数据转换,原反补码)p28idea项目结构project项目 > module模块 > package包 > class类拿微信举例,微信就是项目,它下方的四大功能(微信,通讯录,发现,我)就是模块,一个项目是包含一个或多个模块的.以第一个微信模块为例,我们......