二进制数的原码反码补码转换
#include <iostream>
#include <math.h>
#include <string.h>
using namespace std;
void ten2two(int ten,char data[100]){//十进制数转二进制数,且最高位为符号位int ten1 = abs(ten);int i=0;while(ten1>0){data[i++] = ten1%2+'0';ten1/=2;}if(ten>0)data[i] = '0';elsedata[i] = '1';
}
void out(char *data){for (int i = strlen(data)-1; i >= 0; --i)cout << data[i] ;cout << endl;
}
void Turn_fan(char *data){ //求二进制数的反码if(data[strlen(data)-1]=='0')return;else{for (int i = strlen(data)-2; i >=0 ; --i)if(data[i]=='0')data[i] = '1';else if(data[i]=='1')data[i] = '0';return ;}
}
void Turn_bu(char *data){//求二进制数的补码if(data[strlen(data)-1]=='0')return ;else {for (int i = 0; i < strlen(data)-1; ++i) {if(data[i]=='1')data[i] = '0';else{data[i] = '1';return ;}}}
}
int main(){int ten;char data[100];cin >> ten;ten2two(ten,data);cout << ten << "的原码为: " ;out(data);Turn_fan(data);cout << "反码为:";out(data);Turn_bu(data);cout << "补码为:" ;out(data);return 0;
}
二进制数的原码反码补码转换相关推荐
- 原码 反码 换算工具 补码_原码和补码的换算(原码反码补码转换工具)
[-3]反=[10000011]反=11111100 原码 反码 负数的补码是将其原码除符号位之. 两个说法都没有错,我们举个例子来看看就明白了:1.10001的补码是取反后在再加1,也就是11110 ...
- 原码-反码-补码转换
计算机内部使用补码表示二进制数 1. 正数的补码=反码=原码 2. 负数由原码求补码 注意符号位始终保持不变. 若已知 负数 -8,则其:原码为:1000 1000,(1为符号位,为1代表负数,为0代 ...
- 数制和码制(数制的转换的方法,BCD码<8421,2421,5421,余三码>,格雷码,原码,反码,补码,定点数和浮点数)
目录 1.数制的转换 1)二,八,十六进制进制转十进制 加权系数求和法 2)十进制转二,八,十六进制 除基取余法(短除法) 减权定位法 3)二,八,十六进制的相互转换 2.BCD码 3.格雷码 4.原 ...
- day017:Java进制转换、原码反码补码、位运算、位移运算符
一.进制介绍: 1.进制:指进位制,表示某一位置上的数,运算时是逢X进一. 十进制就是逢十进一,二进制就是逢二进一,八进制就是逢八进一. 2.Java中默认的数值都是十进制,如果要输入其他进制,在数值 ...
- python二进制反码例题_python中的进制转换和原码,反码,补码
python中的进制转换和原码,反码,补码 计算机文件大小单位 b = bit 位(比特) B = Byte 字节 1Byte = 8 bit #一个字节等于8位 可以简写成 1B = 8b 1KB ...
- 【计算机组成原理】原码 反码 补码 移码的转换
原码 反码 补码 移码的转换 这三种机器码都是二进制数据的表现形式,可以表现正数和负数. 原码是可以直接表现出数据的正负和大小. 正数的原码.反码和补码都是相同的. 反码用于原码和补码的转换的功能. ...
- 原码 反码 补码 之间在小数正数间的转换
原码 反码 补码 之间在小数正数间的转换 基本转换 对于正数 原码等于反码等于补码(小数也一样) 对于负数 原码除了符号位取反即反码 反码基础之上+1即补码 但是在遇到某些题时候还是会混淆,比如三者在 ...
- Debug和release版本区别 原码反码补码的转换及存储
#define _CRT_SECURE_NO_WARNINGS 1 //Debug和release版本区别(VS2019版) //例子 #include<stdio.h> //int m ...
- Java进制转换、原码反码补码
一.负数的表示 最高位(最左侧的位)是用来表示正负的.0代表的整数,1代表负数.最高位称为符号位. 0b0000 1000 所表示的数字是 8 0b1000 1000 所表示的数字是 -8 二.原码反 ...
最新文章
- canvas上的像素操作(图像复制,细调)
- ubuntu 安装 codelite
- 陕西科技大学18计算机调剂,2018年陕西科技大学考研调剂信息公布
- vue 如何获取图片的原图尺寸_公众号封面图片尺寸是多少?如何在公众号里制作封面图?...
- 安装sendmail
- 10-Mybatis 多表查询之多对多
- 52 - 算法 - 数据结构 vector
- 消息队列kafka知识总结
- 通过创建一条链来学习区块链 (1)
- 如何下载谷歌地图高程数据
- Easy EDA:在线创客软件服务是未来的趋势 | 雷锋网
- 腾讯语音合成V3鉴权失败
- mysql全量备份命令_linux下进行定时mysql数据库全量备份
- 关于maven-jdocbook-plugin插件org.jboss.highlight.XhtmlRendererFactory does not indentify an extern的一个小问题
- C# vb .net实现淡色效果滤镜
- .xyz文件的定义及读取
- 香帅的北大金融学课笔记8 -- 债务与债券
- 广州百田2015校园招聘笔试题
- 《智力是什么》读书笔记
- husky gazebo