float和int转换

http://blog.sina.com.cn/s/blog_5c6f79380101bbrd.html

https://blog.csdn.net/ganxingming/article/details/1449526

https://www.cnblogs.com/c-primer/p/5992696.html

byte范围-128-->127

byte占一个字节空间,最高位是符号位,剩余7位能表示0-127,加上符号位的正负,就是-127至+127
但负0没必要,为充分利用,就用负零表示-128(即原码1000,0000)。(计算机转补码后存储)

float和double精度:

float是32位,double是64位
float32位中,有1位符号位,8位指数位,23位尾数为
double64位中,1位符号位,11位指数位,52位尾数位

(一)取值范围看指数部分:

float是有符号型,其中,8位指数位,2^8=(-128127),因此实际的范围是-2^1282^127,约为-3.4E383.4E38
同理double范围约是-1.7E3081.7E308

(二)精度是看尾数部分

float尾数位23位,2^23=8.3E6,7位,所以不同的编译器规定不同,有些是7位,有些8位
double尾数52位,2^52=4.5E15,15位,所以double的有效位数是15位
其精度是由32个bit的二进制尾数来确定的,因此准确精度是二进制精度而不是十进制精度,通常可以保证十进制小数点后15位有效精度和第16位的部分精度。

 

posted @ 2019-04-20 21:56  山上有风景  阅读(3680)  评论(0编辑  收藏  举报