十进制-45如何转换为八位二进制和十六进制

如题所述

先把45不停除以2得到二进制数00101101,负数需要编程二进制数的补码得到:11010011,然后4位二进制为单位转换为2个十六进制数:d3
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-03-23
#include <iostream.h>

#include <math.h>

void convert(int s){

int arr[16];

int m(1);

int i(15);

while(s!=0)

{

m=s%2;

s/=2;

arr[i]=m;

i--;

}

cout<<"转换为二进制后的输出为:";

for(int j=i+1;j<=15;j++)

cout<<arr[j];

cout<<endl;

}

void main(){

cout<<"请输入一个十进制整数(0---32767之间)的数,计算它的二进制值:";

int a;

cin>>a;

a=abs(a);

if(a!=0){

if(a>32767) cout<<"数字太大,请重新输入!!!"<<endl;

else convert(a);

}

else cout<<"转换为二进制后的输出为:"<<0<<endl;

}本回答被网友采纳
第2个回答  2013-03-21
用45分别短除2、16,然后倒序取余
第3个回答  推荐于2017-09-13
8位有符号的取值范围是-128~+127,正数以原码的形式存在于内存中,负数以补码的形式存在于内存中,正数从1-127,对应二进制为0000 0001--0111 1111;负数从小到大为-128到-1,1000 0000--1111 1111。
求负整数的补码,将其对应正数二进制表示所有位取反(包括符号位,0变1,1变0)后加1。
那么-45的正数45,转成8位二进制是(00101101),所有位取反(11010010),加1为(11010011)。
其十六进制表示是D3(查表法),即1101对应D,0011对应3。
参考:http://baike.baidu.com/link?url=jreTqNWhcw05PyO_3QKpAZGHfGkbhFCUkUT5kg9aXA0nGELglN-vgeMK9cypSBRaWfWGP8TJUKQmHSeRxnnBia

十进制-45如何转换为八位二进制和十六进制
先把45不停除以2得到二进制数00101101,负数需要编程二进制数的补码得到:11010011,然后4位二进制为单位转换为2个十六进制数:d3

十进制数-45如何转为八进制数和十六进制数?
第一间接法、—把十进制转成二进制,然后再由二进制转成八进制或者十六进制。第二直接法、把十进制转八进制或者十六进制按照除8或者16取余,直到商为0为止。

十进制如何转换为八进制\/十六进制数?
间接法—把十进制转成二进制,然后再由二进制转成八进制或者十六进制。这里不再做图片用法解释。直接法—把十进制转八进制或者十六进制按照除8或者16取余,直到商为0为止。1.二进制转十六进制方法为:与二进制转八进制方法近似,八进制是取三合一,十六进制是取四合一。(注意事项,4位二进制转成十六...

十进制数如何转化为八进制数呢?
十进制数转化为八进制数的两种方法如下:1、“直接法”法,有“整数部分转换”和“小数部分转换”两个方法整数部分转换,除八取余法,每次将整数部分除以八,余数为该位权上的数,商继续除以八,余数又为上一个位权上的数,然后以此类推一直下去,直到商为零为止,从最后一个余数向前排列就可以了。如...

十进制45用补码的形式表示(用十六进制表示)是什么?要有步骤
首先要明白一个基础知识 正数的补码和它对应的二进制数相同 负数的补码求法则是先转换为二进制数 然后取反 即1→0 0→1 得到的数再加1即得结果 你这个45是正数吧 转换为二进制数是00101101(八位表示)则反码是00101101 补码也是00101101 十六进制表示为2D 如果是负数 那么二进制表示为10101101 ...

将十进制数45转换成对应的二进制数、八进制数、十六进制数各是多少?
45\/2=22余1 22\/2=11余0 11\/2=5余1 5\/2=2余1 2\/2=1余0 1\/2=0余1 所以二进制为:101101 101(二进制)=05(八进制) 所以八进制为:55 101101=0010,1101=0x2D 所以十六进制为:2D

10进制转为2进制、8进制、16进制的公式
方法如下:1、十进制整数转二进制数方法:除以2取余数,逆序排列(除二取余法)。具体做法:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,...

十进制转换八进制怎么转换?
1.间接法:先将十进制转换成二进制,然后将二进制又转换成八进制 。2.直接法:前面我们讲过,八进制是由二进制衍生而来的,因此我们可以采用与十进制转换为二进制相类似的方法,分为整数部分的转换和小数部分的转换:①整数部分方法:除8取余法,即每次将整数部分除以8,余数为该位权上的数,而商...

十进制负数转换成二进制、八进制、十六进制
八进制和十六进制数,需要将负数作为二进制补码形式写入,然后根据二进制系统将它们转换成其他基数。例如,如果将十进制负数-617转换为二进制数100000000000001100,则添加补码,并且倒数加1的值是111111111111。转换为八进制是三位和一个的组合,即177764(8)。转换为十六进制是四位fff4(16)的组合。

如何把10进制数转分别换成8进制和16进制数
点开始-运行-calc 点查看-科学型 然后输入你需要转换的数,点八进制(十六进制)就可以得到相应结果了。

相似回答