Java 32 进制_32位数字的十六进制表示

我有一个脚本生成两个随机的32位浮点数a和b,并将它们分开以产生输出c .

我想以十六进制格式存储所有这三个浮点数,作为包含8个字符的字符串 .

我在网上找到了一个聪明的方法:

这是我在C中实施他们的建议

fileout << hex << *(int*)&a[i] << endl;

fileout << hex << *(int*)&b[i] << endl;

fileout << hex << *(int*)&c[i] << endl;

这适用于大多数情况 . 但是,有些情况下,字符串不是8个字符宽 . 有时他们只有一点点 . 以下是输出的示例:

af1fe786

ffbbff0b

fffbff0b

7fbcbf00

77fefe77

7ffcbf00

fdad974d

f2fc7fef

4a2fff56

67de7744

fdf7711b

a9662905

cd7adf0

5f79ffc0

0

6ebbc784

cffffb83

de3bcacf

e7b3de77

ec7f660b

3ab44ae4

aefdef82

fffa9fd6

fd1ff7d2

62f4

ebbf0fa6

ddd78b8d

4d62ebb3

ff5bbceb

3dfc3f61

ff800000

df35b371

e0ff7bf1

3db6115d

fbbfbccc

ddf69e06

5d470843

a3bdae71

fe3fff66

0

979e5ba1

febbe3b9

0

fdf73a80

efcf77a7

4d9887fd

cafdfb07

bf7f3f35

4afebadd

bffdee35

efb79f7f

fb1028c

我想要8个字符的表示 . 至于零的情况,我想将其转换为“00000000” .

但我真的很困惑那些长度只有4,5,6,7个字符的人 . 为什么有些数字在最后被填零而其他数字被截断?如果int是32位,为什么有时只显示一位?这是否是臭名昭着的“次正常”数字?

谢谢 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值