请问负数进制转换转某进制数怎么转?求方法!

负数进制转换
负数进制转换
谁知道负数十进制怎么转换八进制和十六进制
比如 int=-10 printf("%x,%o",x,x)
是怎么计算的
要详细点的
十进制转二进制和二进制转十进制的算法是很多初学者头疼的问题,觉得很难掌握。这里,我通过举例说明这两种进制的转换方法。
(一)十进制(整数)转二进制:
用2辗转相除至结果为1
将余数和最后的1从下向上倒序写 就是结果。例1:将405转换成二进制的数。解:405/2=202余1(注意这个1将写在二进制数的最后面)
202/2=101余0
101/2=50余1
50/2=25余0
25/2=12余1
3/2=1余1(注意这个1将写在二进制数的最前面)故405转换成二进制的数为例2:将302转换成二进制的数。302/2 = 151 余0 (注意这个0将写在二进制数的最后面)151/2 = 75 余1 75/2 = 37 余1 37/2 = 18 余1 18/2 = 9 余0 9/2 = 4 余1 4/2 = 2 余0 2/2 = 1 余0 (注意这个1将写在二进制数的最前面)故302转换成二进制的数为(二)二进制转十进制 从最后一位开始算,依次列为第0、1、2...位 第n位的数(0或1)乘以2的n次方 得到的结果相加就是答案 例如:1101011.转十进制: 第0位:1乘2的0次方=1 1乘2的1次方=2 0乘2的2次方=0 1乘2的3次方=8 0乘2的4次方=0 1乘2的5次方=32 1乘2的6次方=64 然后:1+2+0 +8+0+32+64=107. 二进制1101011=十进制107.
对十进制小数乘2得到的整数部分和小数部分,整数部分既是相应的二进制数码,再用2乘小数部分(之前乘后得到新的小数部分),又得到整数和小数部分.如此不断重复,直到小数部分为0或达到精度要求为止.第一次所得到为最高位,最后一次得到为最低位如:0.25的二进制0.25*2=0.5
取整是00.5*2=1.0
取整是1即0.25的二进制为 0.01 ( 第一次所得到为最高位,最后一次得到为最低位)
0.8125的二进制
0.625*2=1.25
0.25*2=0.5
即0.8125的二进制是0.1101(第一次所得到为最高位,最后一次得到为最低位)
十进制小数→→→→→八进制小数 方法:“乘8取整” 0.71875)10 =(0.56)8
0.75*8=6.0
取整6即0.56
十进制小数→→→→→十六进制小数方法:“乘16取整”例如: (0.=(0.248)16
0.=2.28125
0.5*16=8.0
相关知识等待您来回答
编程领域专家关于C语言十进制负数转换成其他进制的问题_百度知道
关于C语言十进制负数转换成其他进制的问题
在谭C上3.3.1上第上的八进制和十六进制都是直接把负号后面的数转换成二进制再转成其他进制,但是后面的习题转换确乏穿催费诎渡挫杀旦辑是用二进制补码转换的,到底怎么回事,谁给我解释一下啊?
提问者采纳
书上怎么写的记不清了······但是要转换负数的话,的确得用补码乏穿催费诎渡挫杀旦辑因为十进制你可以打个负号代表是负数,但是二进制你表示不了,如果不用补码正常转换的话,负号就丢了········那本书的话应该是挺严谨的我记得,因为我也是用那本书学的,你可以这样,你把书上的例子用补码转换下试试,看看是不是你自己漏看了神马,或者看的时候理解出现问题了
其他类似问题
进制的相关知识
按默认排序
其他1条回答
负数用补码
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁请问如何将十进制数转化为八进制数和十六进制数 注意:是负数 如:十进制数-612等这一类数_百度知道
请问如何将十进制数转化为八进制数和十六进制数 注意:是负数 如:十进制数-612等这一类数
提问者采纳
你打开&开始&-&所有程序&-&附件&-&计算器(查看&-&科学性)输入十进制数、勾十六进制就是十六进制。。
提问者评价
还是你厉害,够牛!当时看见数据结构老师用过一次,后来就忘记了,够简单!不过还是得知道由来才行啊!
其他类似问题
-612/8=76余-4.........个位76/8=9余4.................十位9/8=1余1.................百位1/8=0余1.................千位所以八进制是-1144 算法就是这样。你可以打开电脑的计算器程序-&按查看-&科学型-&输入你想转换的数值后再按八进制查得
按默认排序
其他1条回答
你说明得不清楚,不知道是从键盘上输入的负数还是在内存中的负数。
十进制数若是负数,在内存中是以补码形式存放的,用求补指令NEG得到这个负数的(补码的)绝对值。再除以8或16,得到的余数从低位向高位排列,转化后再加上“-”号,若有小数部分,除后的余数从左向右排列。
十六进制数的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁负数十进制转二进制 十进制转二进制代码 matlab 负数 二进制 十进制 十进制小数转..
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
Matlab负数十进制转二进制代码
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口如何把十进制负数转换为8进制?_百度知道
如何把十进制负数转换为8进制?
例如-10,如何做?
提问者采纳
先转化为二进制在转化为八进制
所以为 1101111
再求其补码
八进制为21 Q
提问者评价
多谢各位!
其他类似问题
按默认排序
其他2条回答
要看你这个数是多少位的了,不同位数结果不一样8位的话-10二进制就是八进制就是36616位的话-10二进制就是0110八进制就是177766
先把负数变成正数,然后%o输出赋给一个值,然后输出这个值的负数就成
进制的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 负数进制转换 的文章

 

随机推荐