负数转16进制

时间:2024-03-04 16:35:44

http://wenku.baidu.com/link?url=vCS98zuSbS1cRDrvmGc7RdasMmhzUgGCqzHSZzhnVHy-BPO37X_X1ktz3zOoDZ_1D1Tf9FWnHsJQJOZA-LYYgkwskoC_mozWeFDtsxhQPQy

现在想知道,714在计算机中如何表示?在计算机中,正数以原码的形式表达。

正数的原码,反码,补码,都相同。

现在想知道,-714在计算机中如何表示?在计算机中,负数以原码的补码形式表达。

 

正数有正数的原码

负数有负数的原码

取反和反码不是同一个概念

 

一个是在计算机中表达,一个是科学计数方式表达。

714 原码:     0000 0010 1100 1010     02CA

-714的原码:  1000 0010 1100 1010

负数的反码:1111 1101 0011 0101(符号位不变)

负数的补码:1111 1101 0011 0110        FD36

-714计算机储存式:  1111 1101 0011 0110

 

下面为:由正数原码求负数的计算机储存式。         

-714  

714 化成16进制   02CA,二进制

0000 0010 1100 1010

取反(不是反码,正数的反码是本身)  

1111 1101 0011 0101

加1

1111 1101 0011 0110

FD36

负数转16进制,其正数取反码+1,即可。

 

16进制转成10进制。

如果是正数:

 0000 0010 1010 1010,   直接算。   1*2^9 + 1*2^7 + 1*2^5 + 1*2^3 + 1* 2^1

或者  02  CA        2*16^2 + C*16^1 + A

 

如果是负数:

转成正数。减1,取反。

第一个已F打头,表示负号。

先减去1,再取反,换成正数,最后再补上符号

FD35

1111 1101 0101 0101

取反

0000 0010 1010 1010

02CA =    2*16^2+C*16+A*1 = 714

最后取负数,为A: -714。

 

计算机存储的二进制,判断一个数正负:看最高位符号为1还是0,(4个一位)

最高位是有讲究的: 还要看数据所占的总字节数,例如1个字节:  -128~127

1000 0000, -128,计算机储存  80       

0000 0001,  1,   计算机储存   01

1000 0001, -1   ,计算机储存   FF

 

计算机存储的16进制,判断一个正负:

16进制,首位   8以上的数据为负