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=(-128—127),因此实际的范围是-2^128—2^127,约为-3.4E38—3.4E38 同理double范围约是-1.7E308—1.7E308,
(二)精度是看尾数部分
float尾数位23位,2^23=8.3E6,7位,所以不同的编译器规定不同,有些是7位,有些8位 double尾数52位,2^52=4.5E15,15位,所以double的有效位数是15位
其精度是由32个bit的二进制尾数来确定的,因此准确精度是二进制精度而不是十进制精度,通常可以保证十进制小数点后15位有效精度和第16位的部分精度。
版权声明:本文为ssyfj原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。