在c语言里面,-617用8进制和16进制表示???????拜托

如题所述

第1个回答  推荐于2016-08-18
#include<stdio.h>
int main()
{
int a = -617;
printf("10进制 %d\n", a );
printf(" 8进制 %o\n", ~a +1);
printf("16进制 0x%x\n", ~a +1 );

a=-01151;//8进制表示
printf("%d\n",a);
printf("%o\n",a);
printf("%x\n",a);

return 0;
}追问

~a

是???

Ox%x

???

追答

~a取反 对这个数值取反 %x 是16进制 为了观看 明了 前面加上了0X (也可以不要 )
Ox%x = 0x32 没有%x = 32

追问

ありがとうございました

谢谢

还有就是a已经是-617,,后面不需要取反了呀

本回答被提问者采纳
第2个回答  2015-11-19
计算机里面数字都是用32位(或64位)二进制补码形式储存的,我们先看-617的补码。
617的32位补码是0000_0000_0000_0000_0000_0010_0000_0101
-617的补码就是617的补码取反加一:1111_1111_1111_1111_1111_1101_1111_1011
将它改写成八进制:37_777_776_773
改写为十六进制:ffff_fdfb
第3个回答  2015-11-19
8进制: 1777777777777777776627
16进制: FFFFFFFFFFFFFD97

在c语言里面,-617用8进制和16进制表示???拜托
int main(){ int a = -617;printf("10进制 %d\\n", a );printf(" 8进制 %o\\n", ~a +1);printf("16进制 0x%x\\n", ~a +1 );a=-01151;\/\/8进制表示 printf("%d\\n",a);printf("%o\\n",a);printf("%x\\n",a);return 0;} ...

十进制的-617分别转八进制和十六进制是多少?
正617 输出 printf("%o\\n", 617);printf("%x\\n", 617);1151 269 --- 写成2进制 001 001 101 001 负数若用补码表示,(反码加1-〉补码)反码(12位机):110 110 010 110 反码加1:110 110 010 111 写成8进:6627 写成16进:1101 1001 0111 -〉D97 16位机,另当别论。

-617如何转换成八进制和十六进制
先转2进制`再在前面添0使2进制数的位数能被3整除然后3位3位的合起来就算出8进制的了 4位就是 16进制的

C语言 十进制负数如何转换八、十六进制?
所以为 1001101001 取其的补码加1 就=-617 在换算为8 16进制

-617怎么用十六进制表示???
10进制数转换成16进制的方法,和转换为8进制的方法类似,唯一变化:除数由8变成16。-617\/16=-38...9 -38\/16=-2...6 -2\/16=0...2 所以十六进制数表示为-269 方法有了,自己动手试试吧

负数10进制转8进制和16进制应该怎么转,我做题时-617转8进制的答案是17...
-617的补码是将617的二进制码取反后加1,所以是00000010 01101001取反变成11111101 10010110,加1变成11111101 10010111,对应的八进制就是176627,16进制是FD97 同理,-111的二进制码是111的二进制码取反加1,是00000000 01101111,取反是11111111 10010000,加1变成11111111 10010001,对应八进制是177621,16进制...

C语言负数的进制转换
负数是有符号位的,在计算机中以补码的形式储存,最高位为1表示负数,其余位按位取反再加1,然后你再把二进制转换成8进制和16进制就可以了。在C语言中,你可以用printf("%X",-617);输出16进制 用printf("%o",-617);输出8进制

C语言中x y中有一个为负数 表达式怎样表达
如果x或y中至少有一个负数,可以写:x<0||y<0 如果x或y中只有一个是负数,则麻烦一点,可以这样写:x<0&&y>=0||y<0&&x>=0 有什么问题请留言。

C语言中16进制的表示方法
1、C\/C++规定,16进制数必须以 0x开头。比如 0x1表示一个16进制数。而1则表示一个十进制。另外如:0xff,0xFF,0X102A,等等.其中的x不用区分大小写(注意:0x中的0是数字0,而不是字母O)。此外,C\/C++中,10进制数有正负之分。比如12表示正12,而-12表示负12。但8进制和16进制只能表达无符号...

C语言中八进制和16进制怎么表示
\/\/合法的八进制数 int a = 015; \/\/换算成十进制为 13 int b = -0101; \/\/换算成十进制为 -65 int c = 0177777; \/\/换算成十进制为 65535 \/\/非法的八进制 int m = 256; \/\/无前缀 0,相当于十进制 int n = 03A2; \/\/A不是有效的八进制数字 二、十六进制由数字 0~9、...

相似回答