| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 13141 人关注过本帖
标题:求!十进制负数转换十六进制的方法
只看楼主 加入收藏
imvicky
Rank: 2
等 级:论坛游民
帖 子:24
专家分:30
注 册:2011-8-25
结帖率:66.67%
收藏
已结贴  问题点数:5 回复次数:11 
求!十进制负数转换十六进制的方法
比如 -111 如何转换成十六进制 麻烦把方法告知一下
搜索更多相关主题的帖子: 如何 十六进制 十进制 
2011-08-27 19:32
爱德华
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:183
专家分:536
注 册:2011-5-29
收藏
得分:1 
写入程序的话,计算机识别的是二进制,把十进制先转化为二进制即可

算法,数据结构,windows核心编程.
2011-08-27 19:45
Luminal
Rank: 6Rank: 6
等 级:侠之大者
帖 子:140
专家分:470
注 册:2011-8-24
收藏
得分:1 
这里应该由你要的答案
http://www.
2011-08-27 19:47
imvicky
Rank: 2
等 级:论坛游民
帖 子:24
专家分:30
注 册:2011-8-25
收藏
得分:0 
回复 3楼 Luminal
我就是看你说的这个链接学得进制转换 可是还没弄明白 负数转换十六进制的方法是什么

=======Never give up !=======
2011-08-28 08:46
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:1 
只要是带符号的整数都是以补码形式存储的

补码计算方法  对于正整数 补码就是他的源码比如111源码为0110 1111 补码也为0110 1111

对于负数补码为其绝对值的补码按位取反再加一 取反1001 0000 加一 1001 0001写成十六进制就是91H

最高位为符号位 所以8为有符号整数的范围为-128  ---- 127

                                         
===========深入<----------------->浅出============
2011-08-28 09:00
imvicky
Rank: 2
等 级:论坛游民
帖 子:24
专家分:30
注 册:2011-8-25
收藏
得分:0 
回复 5楼 laoyang103
谢谢

=======Never give up !=======
2011-08-28 09:32
编程达人
Rank: 2
等 级:论坛游民
帖 子:62
专家分:66
注 册:2011-8-11
收藏
得分:1 
先用补码把负数转换成二进制数,再转换成十六进制数
2011-08-28 10:13
Luminal
Rank: 6Rank: 6
等 级:侠之大者
帖 子:140
专家分:470
注 册:2011-8-24
收藏
得分:0 
回复 4楼 imvicky
我只想说受之于鱼不如授之予渔,把不同进制的编码原理和在计算机中的存储方式搞懂了,也就可以写你说的那个程序了
至少我是这样认为的!
2011-08-28 14:20
qq8801103
Rank: 5Rank: 5
来 自:苏州中科大软件学院
等 级:职业侠客
威 望:1
帖 子:422
专家分:340
注 册:2009-10-8
收藏
得分:1 
3楼的给的经典,参考一下

Discuz!  
好好学习  天天向上
2011-08-28 14:56
QQ346957135
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:148
专家分:658
注 册:2011-8-9
收藏
得分:1 
如果是负数的话需要特殊处理,因为负数在内存里是一补码的形式存储的,如果以十六进制直接输出的话,负号位也会作为数值位一起输出!
程序代码:
#include<stdio.h>
int main()
{
    int a;
    printf("输入一个整数:");
    scanf("%d",&a);
    if(a<0)
    {
        putchar('-');
        printf("%x\n",a*(-1));
    }
    else
    {    
        printf("%x\n",a);
    }
    return 0;
}

A real warrior never quits.
2011-08-28 15:19
快速回复:求!十进制负数转换十六进制的方法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.050425 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved