所以为 1001101001 取其的补码加1 就=-617 在换算为8 16进制
计算机内部整型数用2进制表示,所以无所谓10进制或16进制,他们是输出时的一种显示。有符号数,最高位是符号位。负数,机内数用补码表示,补码等于原来数,不计符号位的反码加1。有符号数,无符号数表示的数值范围不同。你的 65535+a+1, 可能为了凑成补码 (我未仔细研究)。十进制转换十六进制可...
求助,计算负数十进制..-111=( )8=( )16,-617=( )8=( )16,-218654=( )8=( )16,求解具体过程。啊啊啊啊啊啊,快来帮帮我好像不是这样的,它的正确答案是(-111)=(177621)8=(ff91)16,我求不出来
十进制转换为二进制的c++代码 #include <iostream>//将十进制转为二进制,并输出其中1的个数。using namesp怎样用c语言把十六进制的负数转十进制数呢? #include <stdio.h> int main() { int x ; scanf("%x", &x ); //输入16进制数 printf("%d\n", x ); //输出10进制数 return 0; } 视频象棋...
y=x[i]*pow(16,i).这一句有问题。因为你输入的a,即现在的x,是一段字符串。需要先将字符串转换成数字,然后再进行运算,不然的话,系统会默认利用ascii值来进行运算,所以就出现了错误。也可以改为y = (x[i]- 48 )pow(16,i).