java 板


LINE

※ 引述《chenhung (小胡子)》之铭言: : 大家好 : 我有一个问题想要请问 : 书上写,整数值的预设型别为 int : 读到整数数值时,会先取得 4byte 的记忆体空间暂时储存 : 然後再把值复制到指定的变数所代表的记忆体空间储存 : 若程式码的数值未超过 int 最大或最小值 : 自然没问题 举例: byte a=8 : 浮点数的预设型别为 double : 读到浮点数值时,会预设取得 8byte 的记忆体空间暂时储存 : 然後再把值复制到指定的变数所代表的记忆体空间储存 : 若配置给变数的记忆体空间是 8byte 自然没问题 : 若小於 8byte 则会产生型别不符的错误 : 举例: float b=3.0 //错误 : 我的问题就是:byte a=8,是 预设 int 4byte 放入 byte 1byte,这样就可以 : 可是 float b=3.0,是预设 double 8byte 放入 float 4byte ,这样就不行 : 请问是为什麽呢? : byte a=8 //正确 float b=3.0 //错误 : 1byte 预设 int 4byte 4 byte 预设 double 8byte : 同样都是大放小,为什麽 整数可以 浮点数不行 = = : 如果标题取的不好,我再更改 @@ : 谢谢 不好意思回覆这篇多年前的文章 但最近我也被这个问题困扰 有想到一个可能的原因 不知道对不对 也希望板上的高手能为小弟解惑 -------------------------------------------- double 可储存的小数位数最大为 15,范围是 -1.8*10^308 ~ 1.8*10^308 float 可储存的小数位数最大为 7,范围是 -3.4*10^38 ~ 3.4*10^38 加上浮点数实字预设是 double 型态 所以有可能会发生「float f = 1.12345678;」这样超过 float 最大小数位数的情形 并且 1.12345678 = 1.12345678*10^0 没有超过 float 的范围 所以必须以「float f = 1.1234567f;」表示用 float 来储存 1.1234567 因此「float b = 3.0;」会编译错误(可能有精准度问题) 而「int a = 8;」则编译成功(整数没有精准度问题) --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 122.116.240.120
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1453646683.A.64A.html ※ 编辑: jackblack (122.116.240.120), 01/24/2016 22:50:40
2F:→ jackblack: 请问「程式中写下一个整数时,预设是使用不超过int型态 01/26 21:38
3F:→ jackblack: 长度」的意思是什麽呢? 01/26 21:39
4F:→ jackblack: 整数实字预设不是 int 型态吗? 01/26 21:58
5F:推 jinn: 2F 因为用int型态,所以数字长度不能超过int啊。没冲突啊XD 01/27 20:48
@jinn: 疑问的点是为什麽 double 指派给 float,与 int 指派给 byte 同样是大放到小 ,但是 int 指派给 byte、short 就不用像 double 还要改用 float 存值? 後来在《Java in a Nutshell》中找到解答: http://docstore.mik.ua/orelly/java-ent/jnut/ch02_04.htm The one exception to this rule is that you can assign an integer literal (an int value) to a byte or short variable, if the literal falls within the range of the variable. 中文第六版(P.29): 限缩转型规则有个例外,就是可以把整数字面常数(int 型别)指定给 byte 或 short 型 别变数,但前提必须是该数值不能超过变数型别的值域范围。 ※ 编辑: jackblack (122.116.240.120), 01/27/2016 23:46:59
6F:推 longlongint: 有没有试过3.0f 01/31 12:39







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP