首页 > 编程知识 正文

int加char和float哪个为整数,intfloat分别占几个字节

时间:2023-05-03 18:23:45 阅读:233912 作者:2285

原码就是取 绝对值。反码是原码取反。补码是反码+1。

int

int 在32/64位系统中占4个字节,一个字节能含八位二进制数字0/1,四个字节含32位,所以表示的数的范围为-(2的31次方-1)到(2的31次方-1),数字为-2 147 483 647~2 147 483 647.

float

float占四个字节,对于单精度浮点数(float)来说,有一位符号位,指数位共8位,尾数共23位。指数能够表示的指数范围为-128~127。尾数为23位。当尾数全1时再加上小数点前面的1,指数取到最大正数127(8位,正数最大127,负数最小-128),浮点数取得正数的最大值。

+1.111111111111111111111*2^127(1.后面23个1,由于尾数的范围1~2,其最高位总为1,故只需存取小数部分,所以小数为是23位1),https://jingyan.baidu.com/article/425e69e6e93ca9be15fc1626.html,解释出二进制1.11111111111111111111111=1+1/2+1/4+1/8+1/16..........,约等于2,2*2^127=3.4*10^38。为3.4*10^38负数亦然。

double

double占八个字节,Double的计算与此类似,double的符号位为52位,指数为62~52位,共11位。表示的范围为-1024~1023。尾数为51~0。表示的范围为+1.111111111111111111111*2^1023(1.后面52个1)为1.7*10^308。负数亦然。

char

占一个字节,原码就是取 绝对值。反码是原码取反。补码是反码+1,

char类型是8位,singed char 原码 :1111 1111-01111111   最高位为符号位,1负0正  - 127 --- +127

,

-127补码10000001,还有一个 1000 0000 用它来表示 -128,因为没有负0的概念。计算机里负数都是用补码来表示。

所以就是-128- 127

计算机本身确实以机器的思维进行处理的”。就表现为“计算机对数据的处理其实是以‘补码’的形式

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。