java中为什么long的范围小于float?求解答 java中long类型的取值范围到底是多少

java\u4e2dlong\u548cfloat\u7684\u5927\u5c0f\u95ee\u9898

int 32bit
long 64bit
float 32bit
double 62bit
\u81ea\u5df1\u53c2\u8003\u5427\uff01\u53e6\u5916\u8bf4\u58f0\uff0cbyte\uff0cshort\uff0cint\uff0clong\u90fd\u5c5e\u4e8e\u6574\u5f62\u6570\u636e\u7c7b\u578b
\u800cfloat\u548cdouble\u5c5e\u4e8e\u6d6e\u70b9\u578b\uff0c\u800c\u6d6e\u70b9\u578b\u9ed8\u8ba4\u7684\u662fdouble\uff0c\u8fd9\u5c31\u610f\u5473\u7740\u4f60\u58f0\u660efloat t = 1.0\u662f\u4e0d\u4f1a\u901a\u8fc7\u7f16\u8bd1\u7684\uff0c\u56e0\u4e3a1.0\u5728java\u4e2d\u5e94\u8be5\u662fdouble\u578b\u7684\uff0c\u6240\u4ee5\u4f60\u5fc5\u987b\u8fd9\u6837\u58f0\u660e\uff0cfloat t = 1.0F\uff1b\u6216\u8005\u5e72\u8106float t =\uff08float\uff091.0\uff1b
\u8fd9\u662f\u65b0\u624b\u5e38\u72af\u7684\u9519\u8bef\uff0c\u4e5f\u662f\u9762\u8bd5\u5e38\u89c1\u7684java\u57fa\u7840\u4e4b\u4e00

\u8303\u56f4\uff1a-9223372036854775808\u52309223372036854775807
\u89e3\u91ca\uff1along\u7c7b\u578b\u662f64\u4f4d\u7684\u4e5f\u5c31\u662f \u201d-2^64\u201c \u5230\u201d2^64 -1\u201c.

因为long要存储严格的整数,有严格的范围限制,精度永远为1
float是浮动精度。支持小数,但数值达到一定大的时候,就会出现误差。

当float的值达到一定大小,程序中遇到2个float比较的时候会出现应该相等,但结果不等,或者应该不等却相等的情况。因为float是有误差的

long没有误差,但不能有小数。。

这个还有疑问?
科学计数法一个E38就代表38位
Long最多才能表示19位的十进制数
两者不是一个数量级的

float的表示数字是数值乘以10的N次方得到的。
N大于0的时候表示大数,N小于零的时候代表小数

64位的数值怎么会小于32位的数值?

long的范围是大于float的,
int才是和float相同位数
long和double才是相同位数

因为long是64位的,float是32位的,float只是用来满足低精度的浮点运算,而long是大整数,如果要高精度则要用double,64位的,所float比long小很正常,而且一个是浮点一个是整数,二者其实没有可比性。希望我的回答能够帮助到你,加油!

  • JAVA鍥涚鏁存暟鏁版嵁绫诲瀷鐨勫彇鍊鑼冨洿鍒嗗埆鏄灏
    绛旓細byte鐨勫彇鍊鑼冨洿涓-128~127锛屽崰鐢1涓瓧鑺傦紙-2鐨7娆℃柟鍒2鐨7娆℃柟-1锛塻hort鐨勫彇鍊艰寖鍥翠负-32768~32767锛屽崰鐢2涓瓧鑺傦紙-2鐨15娆℃柟鍒2鐨15娆℃柟-1锛塱nt鐨勫彇鍊艰寖鍥翠负锛-2147483648~2147483647锛夛紝鍗犵敤4涓瓧鑺傦紙-2鐨31娆℃柟鍒2鐨31娆℃柟-1锛long鐨鍙栧艰寖鍥翠负锛-9223372036854774808~9223372036854774807锛夛紝鍗犵敤8...
  • java涓 long 鍜宒ouble閮芥槸64浣嶃涓轰粈涔double琛ㄧず鐨勮寖鍥澶ч偅涔堝鍛
    绛旓細double鏄痭*2^m(n涔樹互2鐨刴娆℃柟)杩欑褰㈠紡瀛樺偍鐨勶紝鍙渶瑕佽褰昻鍜宮涓や釜鏁板氨琛屼簡锛宮鐨勫煎奖鍝嶈寖鍥村ぇ锛屾墍浠ヨ〃绀虹殑鑼冨洿姣long澶с備絾鏄痬瓒婂ぇ锛宯鐨勭簿搴﹀氨瓒婂皬锛屾墍浠ouble骞朵笉鑳芥妸瀹冩墍琛ㄧず鐨勮寖鍥撮噷鐨鎵鏈夋暟閮借兘绮剧‘琛ㄧず鍑烘潵锛岃宭ong灏卞彲浠ャ
  • 鍦Java璇█涓 long鍜宒ouble鐨勮寖鍥
    绛旓細long鐨鍙栧鑼冨洿鏄2鐨63娆℃柟-1鍒拌礋鐨2鐨63娆℃柟銆俤ouble鐨勫彇鍊艰寖鍥存瘮杈冨鏉傚缓璁幓鐪嬫爣鍑嗗寲鍗忚锛屽嵆浣挎槸鍙岀簿搴︾殑double鍦ㄧ簿纭绠椾笂璇樊涔熸瘮杈冨ぇ寤鸿浣跨敤bigdecimal
  • 涓轰粈涔坙ong鍜宨nt绫诲瀷鏄笉涓鏍鐨?
    绛旓細鍏朵粬鍖哄埆锛氬湪涓浜涜瑷锛堝 Python锛変腑锛long 绫诲瀷宸茬粡琚簾寮冿紝鍙栬屼唬涔鐨鏄 int锛屽畠鍙互鏄换鎰忓ぇ灏忕殑鏁存暟銆傝屽湪鍏朵粬璇█锛堝 C++ 鎴 Java锛変腑锛宭ong 鍜 int 鏄笉鍚岀殑绫诲瀷锛屾牴鎹笂涓嬫枃鏈変笉鍚岀殑鐢ㄩ斻傚湪娴偣鏁拌绠椾腑锛屾暣鏁扮被鍨嬶紙濡 int 鍜 long锛夌殑鍙栧鑼冨洿閫氬父鏄浐瀹氱殑锛岃屾诞鐐规暟鐨勫彇鍊艰寖鍥存槸鏍规嵁...
  • java涓璴ong鏄浠涔鎰忔
    绛旓細long 灏辨槸闀挎暣鍨嬬殑鎰忔濄java 鐨 8 涓熀鏈被鍨嬬殑涓绉嶃備綘搴旇瑕佹妸 java 鐨 8 绉嶅熀鏈被鍨嬩竴璧疯锛歜yte short int long char float double boolean int 鏄 32 浣嶇殑鏁存暟锛宭ong 灏辨槸 64 浣嶇殑鏁存暟锛岃〃绀鑼冨洿锛-2^63 ~ 2^63 -1
  • Java鍩烘湰鏁版嵁绫诲瀷?
    绛旓細涓銆佸熀鏈暟鎹被鍨嬶細byte锛Java涓鏈灏忕殑鏁版嵁绫诲瀷锛屽湪鍐呭瓨涓崰8浣(bit)锛屽嵆1涓瓧鑺傦紝鍙栧鑼冨洿-128~127锛岄粯璁ゅ0 short锛氱煭鏁村瀷锛屽湪鍐呭瓨涓崰16浣嶏紝鍗2涓瓧鑺傦紝鍙栧艰寖鍥-32768~32717锛岄粯璁ゅ0 int锛氭暣鍨嬶紝鐢ㄤ簬瀛樺偍鏁存暟锛屽湪鍐呭湪涓崰32浣嶏紝鍗4涓瓧鑺傦紝鍙栧艰寖鍥-2147483648~2147483647锛岄粯璁ゅ0 long锛氶暱...
  • java涓 long a=10000000000; 涓哄暐浼氭姤閿
    绛旓細姝g‘鐨勫啓娉 long a=10000000000L; //灏10000000000 杩欎釜鏁存暟甯搁噺锛屽0鏄庝负long绫诲瀷銆傛姤閿欏師鍥犳槸锛Java涓鏁存暟绫诲瀷鐨勫奸粯璁ゆ垚int绫诲瀷锛屽崰4涓瓧鑺傦紝鑳借〃绀虹殑鏈澶у兼槸2鐨31娆℃柟鍑忎竴锛岀害2涔樺崄鐨勪節娆℃柟銆10 000 000 000涓嶅甫L鏃讹紝浼氳榛樿鎴恑nt绫诲瀷锛屼絾杩欎釜鍊艰繙杩滆秴杩噄nt绫诲瀷鑳借〃绀虹殑鏈澶у硷紝浜庢槸鎶ラ敊銆
  • java璇█鐨勬墍鏈夋暟鎹被鍨嬪垎涓哄摢鍑犵?
    绛旓細JAVA涓涓鍏辨湁鍏鍩烘湰鏁版嵁绫诲瀷锛屽垎鍒槸锛歜yte銆乻hort銆乮nt銆long銆乫loat銆乨ouble銆乧har銆乥oolean銆1銆乥yte锛8浣嶏紝鏈澶у瓨鍌ㄦ暟鎹噺鏄255锛屽瓨鏀剧殑鏁版嵁鑼冨洿鏄-128~127涔嬮棿銆2銆乻hort锛16浣嶏紝鏈澶ф暟鎹瓨鍌ㄩ噺鏄65536锛屾暟鎹寖鍥存槸-32768~32767涔嬮棿銆3銆乮nt锛32浣嶏紝鏈澶ф暟鎹瓨鍌ㄥ閲忔槸2鐨32娆℃柟鍑1锛屾暟鎹寖鍥...
  • Java涓Integer鍜Long鐨鍖哄埆
    绛旓細Integer鏄痠nt鐨灏佽绫诲瀷鏄 32 浣嶇殑鏁存暟锛long 鏄 64 浣嶇殑鏁存暟锛岃〃绀鑼冨洿锛-2^63 ~ 2^63 -1 long鏄暱鏁村瀷
  • java鐨鍩烘湰鏁版嵁绫诲瀷鏄粈涔?涓轰粈涔?
    绛旓細char鍨嬪湪Java璇█涓苟涓嶆槸寰堝父鐢紝鍥犱负濡傛灉瑕佸瓨鍌ㄥ瓧绗︾殑璇濓紝涓鑸娇鐢ㄦ墿灞曠殑鏁版嵁绫诲瀷string.3 >鏁村瀷 鍦↗ava璇█涓紝鎻愪緵浜嗗绉嶆暣鍨嬫暟鎹被鍨嬶細byte銆乻hort銆乮nt銆long銆傚畠浠兘鏄畾涔変簡涓涓暣鏁帮紝鍞竴鐨勫尯鍒氨鏄畠浠兘澶熻〃绀烘暟鎹鐨勮寖 鍥銆傝兘澶熻〃绀烘暟鎹鐨勮寖鍥瓒婂ぇ锛屽崰鐢ㄧ殑鍐呭瓨绌洪棿涔熷氨瓒婂ぇ锛屽洜姝わ紝鍦ㄧ▼搴忚璁...
  • 扩展阅读:java中的long占用几个字节 ... 一个longfloat占几个字节 ... long int的取值范围 ... 包的是啥意思 ... java long的范围 ... long的范围是多少 ... long在java中的意思 ... java long赋值 ... java中long是什么数据类型 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网