怎么将用十六进制表示的数赋值给一个double变量

 我来答
匿名用户
2016-09-06
展开全部
2 #include <string.h>
3
4 using namespace std;
5
6 int main() {
7 long int i = 0x4034000000000000;
8 double d;
9 memcpy(&d, &i, 8);
10 cout << d << endl;
11 }

g++ test_double.cpp && ./a.out
输出:20
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
smileXbel
2017-02-16 · TA获得超过277个赞
知道小有建树答主
回答量:423
采纳率:100%
帮助的人:267万
展开全部

Java中十六进制不能直接转化为double 变量,需要先转化为int类型再转化为double类型。

(1)十六进制转化为int类型;

int hexNum = 0xff;

(2)int类型可以直接转化为double类型;

double dNum = hexNum;

代码示例:

public static void main(String[] args) {
Integer hexNum = 0xa;
double dNum = hexNum;
System.out.println(dNum);

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天之鹰1986
2016-10-31 · TA获得超过278个赞
知道小有建树答主
回答量:727
采纳率:75%
帮助的人:242万
展开全部
  1. 在Java中 有多中进制的表现形式 ,我们通常用的是十进制的数字,十六进制有其独特的表示方式 。

  2. 如: 11  是个十进制的数字, 0xA 就是转为十六进制以后的表现形式  你可以直接采用变量赋值的方式将十六进制的数字转入 double 类型的变量中。


已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Eternal__丶
2017-02-08 · 超过13用户采纳过TA的回答
知道答主
回答量:31
采纳率:0%
帮助的人:18.9万
展开全部
16进制有几位?
反正不管几位进来只要值对,对应当前系统位数跟编译的语言中double占用多少位内存来计算, 与上占用内存位数相应为全1值就行了。
比如C语言中double占用32位,
HEX&0xFFFFFFFF
JAVA double 64位
HEX&0xFFFFFFFFFFFFFFFF
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小猪真可爱777
2016-09-21 · TA获得超过1820个赞
知道小有建树答主
回答量:272
采纳率:0%
帮助的人:91.6万
展开全部
var
n,k:longint;
procedure dg(n,a:longint);
var
x:array[1..16] of longint;
i,j,k,h:longint;
begin
if n<0 then
begin
write('-');
end;
j:=abs(n);
k:=0;
repeat
inc(k);
i:=j mod a;
j:=j div a;
x[k]:=i;
until j=0;
for h:=k downto 1 do
begin
if x[h]<10 then write(x[h])
else write(chr(55+x[h]));
end;
end;
begin
readln(n);
readln(k);
dg(n,k);
end.
输入你要读进去的10进制数,他会自动帮你转化为douoble类型的k进制数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式