二进制整数表示法

简介: 一个字节通常包括8个位,这8个位可以从左到右看作是从7到0.     7  6 5 4 3 2 1 0     0  1 0 0 1 0 0 1(二进制数,该字节的值为,64+8+1 = 73)   128  64 32 16  8  4  2  1   位7称为高位,位0称为低位.

一个字节通常包括8个位,这8个位可以从左到右看作是从7到0.

 

  7  6 5 4 3 2 1 0

 

  0  1 0 0 1 0 0 1(二进制数,该字节的值为,64+8+1 = 73)

 

128  64 32 16  8  4  2  1

 

位7称为高位,位0称为低位.每位数字都是2的指数.

 

于是128是2的7次幂,64是2的6次幂,依次类推.

 

这个字节所能存储的最大数就是所有位都为1的数,则是:11111111

 

值为:128+64+32+16+8+4+2+1 = 255

 

最小的数是所有位都为0的数,00000000.值就为0.则该字节可以存储的范围为:0到255总共256个值.

 

这个字节能够存储256个值,除了可以表示为0到255,也能够表示为-128到127之间的整数.总共还是256个值.

 

如一个unsigned char 可以表示0到255,一个singed char 可以表示 -128到127.

 

有符号数的最简单的表示方法就是保留一位(比如高位)来表示数的符号.在1个字节值中,该方法为数本身留下7位(即0到6位),如:

 

10000001表示-1,00000001表示1,这就是符号量(sign-magnitude)表示法,能够表达-127到127.

 

缺点是0的表示也分为+0和-0两种方法,这会引起混淆,而且用两个位组合表示一个值也有些浪费.

目录
相关文章
|
C语言
C语言之将十进制整数转换为任意进制整数
C语言之将十进制整数转换为任意进制整数
244 0
|
8月前
二进制与十六进制,二进制与八进制之间的相互转换技巧
二进制与十六进制,二进制与八进制之间的相互转换技巧
655 0
创建定长的数字,进制之间转化,二进制,十进制 字符串
创建定长的数字,进制之间转化,二进制,十进制 字符串
|
算法 Python
十进制与二进制的互换
十进制与二进制的互换
135 0
|
C语言
整数和浮点数的任意进制转!!(包括16进制)确定不进来看看?!
整数和浮点数的任意进制转!!(包括16进制)确定不进来看看?!
160 0
|
算法
二进制、八进制、十六进制与十进制的相互关系
二进制、八进制、十六进制与十进制的相互关系
【进制转换】— 包含整数和小数部分转换(二进制、八进制、十进制、十六进制)手写版,超详细
【进制转换】— 包含整数和小数部分转换(二进制、八进制、十进制、十六进制)手写版,超详细
|
算法 C语言
10(可回看)【C语言 & 趣味算法】数制转换(常见,二进制、八进制、十进制、十六进制之间任意转换)
10(可回看)【C语言 & 趣味算法】数制转换(常见,二进制、八进制、十进制、十六进制之间任意转换)
10(可回看)【C语言 & 趣味算法】数制转换(常见,二进制、八进制、十进制、十六进制之间任意转换)
|
C语言
c语言实现二进制八进制十进制和十六进制的相互转化
c语言实现二进制八进制十进制和十六进制的相互转化
318 0