假如把16进制数充当是有符号数,就可以不它表示负数(带负号的十进制数).以-1来说:将-1意思是成4位二进制数(求补码),是1111(此时将1111充当有符号数),然后把真接化16进制数;-1的一位有符号16进制数就是f.-10的8位有符号二进制数为11110110(补码它表示),凝成2位符号的16进制数fa.该如何确认一个16进制数是恰恰负看题目有木有并没有提及这个16进制数如何确定为有符号数,如果题目只能证明为无符号数,则意思是正数.假如为有符号数,也要推测符号的正负:将16进制数的高了位崩散4位二进制数,如果不是所化的二进制数的更高位为1就来表示负数,为0就表示正数.例fa为有符号的16进制数,f为fa的极高位,化为二进制数为1111,而1111的最高位为1,就表示fa是个负数.fa化作10进制数就为-10
16位数
十六进制(hexadecimal)是计算机中数据的一种来表示方法。同我们日常中的十进制来表示法不一样。十六进制数的基数是16,采用的数码是0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f。其中a-f四个来表示十进制数字10-15.十六进制数的技术规则是“逢十六进一”,它的各位的权是以16的n次方标识的。大多,对十六进制数的来表示,可以在数字的右下角上标16或h,但在c语言中是在数的前面加数字0和字母x即0x20来可以表示。
定义16进制即逢16进1,其中用a,b,c,d,e,f(字母不判别大小写)这六个字母来三个可以表示10,11,12,13,14,15。顾而有16进制每一位上也可以是从小为0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f16个大写字母16进制到十进制16进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方……因此,在第n(n从0正在)位上,如果不是是是数x(x大于等于0,但是x小于等于15,即:f)它表示的大小为x*16的n次方.例:2af5度量单位成10进制:用竖式换算:第0位:5*16^05第1位:f*16^1240第2位:a*16^22560第3位:2*16^38192-------------------------------------10997直接计算就是:5*16^0f*16^1a*16^22*16^31099716进制到二进制由于在二进制的表示方法中,每四位所可以表示的数的比较大值按16进制的15,即16进制每两名上比较大值,所以,我们这个可以得出短除法的转换方法,将16进制上每一位分别按二进制上四位并且转换,即得所求:例:2af5度量单位成2进制:第0位:(5)16(0101)2第1位:(f)16(1111)2第2位:(a)16(1010)2第3位:(2)16(0010)2-------------------------------------得:(2af5)16(0010101011110101)2从二进制转换成十六进制的简便方法列举16进制就有16个数,15,用二进制表示15的方法应该是1111,从而可以推测出,16进制用2进制也可以表现出来成0000~1111,是指,也就是每四个为一位.举例子:0111101可以不这样的分:0011|1101(更高位不够用些零替代),再结合着二进制的表格,10245122561286432168421(就像举例说明这样多就够了吧,如果有小数的话就一直往右边例举,如0.50.250.1250.0625……)102451225612864321684210011|1101左半边213右半边84113d结果,0111101就这个可以度量单位成16进制的3d.